- UID
- 1029342
- 性别
- 男
|
BOOL bLedOn=FALSE; //定义是否点亮LED布尔变量
BOOL bBellOn=FALSE; //定义是否蜂鸣器响布尔变量
BOOL bReqData=FALSE; //定义是否请求数据布尔变量
/****************************************************
** 函数名称: CRC16Check
** 输 入: buf 要校验的数据;
len 要校验的数据的长度
** 输 出: 校验值
** 功能描述: CRC16循环冗余校验
*****************************************************/
UINT16 CRC16Check(UINT8 *buf, UINT8 len)
{
UINT8 i, j;
UINT16 uncrcReg = 0xffff;
UINT16 uncur;
for (i = 0; i < len; i++)
{
uncur = buf[i] << 8;
for (j = 0; j < 8; j++)
{
if ((INT16)(uncrcReg ^ uncur) < 0)
{
uncrcReg = (uncrcReg << 1) ^ 0x1021;
}
else
{
uncrcReg <<= 1;
}
uncur <<= 1;
}
}
return uncrcReg;
}
/*************************************************************
* 函数名称:BufCpy
* 输 入:dest目标缓冲区;
Src 源缓冲区
size 复制数据的大小
* 输 出:无
* 说 明:复制缓冲区
**************************************************************/
BOOL BufCpy(UINT8 * dest,UINT8 * src,UINT32 size)
{
if(NULL ==dest || NULL==src ||NULL==size)
{
return FALSE;
}
do
{
*dest++ = *src++;
}while(--size!=0);
return TRUE;
}
/****************************************************
** 函数名称: UartInit
** 输 入: 无
** 输 出: 无
** 功能描述: 串口初始化
*****************************************************/
void UartInit(void)
{
SCON=0x40;
T2CON=0x34;
RCAP2L=0xD9;
RCAP2H=0xFF;
REN=1;
ES=1;
}
/****************************************************
** 函数名称: UARTSendByte
** 输 入: b 单个字节
** 输 出: 无
** 功能描述: 串口 发送单个字节
*****************************************************/
void UARTSendByte(UINT8 b)
{
SBUF=b;
while(TI==0);
TI=0;
}
/****************************************************
** 函数名称: UartSendNBytes
** 输 入: buf 数据缓冲区;
len 发送数据长度
** 输 出: 无
** 功能描述: 串口 发送多个字节
*****************************************************/
void UartSendNBytes(UINT8 *buf,UINT8 len)
{
while(len--)
{
UARTSendByte(*buf++);
}
} |
|