xishuidemian 发表于 2014-9-3 21:33

和溢出

新手刚学习DSP,调试中出现一个问题。SCI串口接收中断里有个和校验,
unsigned char Rec_Buff;
unsigned char sum;

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

msblast 发表于 2014-9-4 11:15

因为CCS把char类型定义为16bit

tttttrefg 发表于 2014-9-4 11:20

aresc 发表于 2014-9-4 22:26

2楼正解!写程序之前要大概先浏览一下你用的DSP的C编译器手册。

zhangmangui 发表于 2014-9-4 23:12

你好   请参考我的分享

DSP2000系列数据类型和大小问题

xishuidemian 发表于 2014-9-5 18:04

zhangmangui 发表于 2014-9-4 23:12 static/image/common/back.gif
你好   请参考我的分享

DSP2000系列数据类型和大小问题

版主V5,向你致敬

xishuidemian 发表于 2014-9-5 18:07

谢谢大家,懂了结贴。

edishen 发表于 2014-9-10 22:08

群里有大神啊
页: [1]
查看完整版本: 和溢出