新手刚学习DSP,调试中出现一个问题。SCI串口接收中断里有个和校验,
unsigned char Rec_Buff[5];
unsigned char sum;
for(sum=0,i=0;i<4;i++)
{
sum += Rec_Buff[i] ;
}
//if(Rec_Buff[4] == sum)//这里if不成立
if(Rec_Buff[4] == (unsigned char)(sum & 0x00ff))//而这里if成立
{
。。。
}
串口助手发送数据:AA 55 E1 E1 C1。断点调试的时候发现Rec_Buff[4]为0x00C1,而sum为ox02C1。
问题1:我定义的都是char型变量,怎么显示的是16位呢?
问题2:是不是ccs3.3不认识8位的char型数据?
不知道我表达清楚没有,希望大家帮我解答。 |