今天调试一个串口,就是串接收一串16进制的数据,明明发送的是0xaa,可以串口里对比始终是错误的,百思不得其解,后面一个个变量检查,才发现是我们unsigned char 类型定义成char。
rxbuf[u16CNT] = SBUF;
u16CNT ++; /* if reception occur */
if(rxbuf[0]!=0xaa)
{
u16CNT = 0;
}
if((u16CNT==2)&&(rxbuf[1]!=0x2D))
{
u16CNT = 0;
}