打印
[DSP编程]

和溢出

[复制链接]
995|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xishuidemian|  楼主 | 2014-9-3 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手刚学习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型数据?
不知道我表达清楚没有,希望大家帮我解答。

相关帖子

沙发
msblast| | 2014-9-4 11:15 | 只看该作者
因为CCS把char类型定义为16bit

使用特权

评论回复
板凳
tttttrefg| | 2014-9-4 11:20 | 只看该作者

使用特权

评论回复
地板
aresc| | 2014-9-4 22:26 | 只看该作者
2楼正解!写程序之前要大概先浏览一下你用的DSP的C编译器手册。

使用特权

评论回复
5
zhangmangui| | 2014-9-4 23:12 | 只看该作者
你好   请参考我的分享

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

使用特权

评论回复
6
xishuidemian|  楼主 | 2014-9-5 18:04 | 只看该作者
zhangmangui 发表于 2014-9-4 23:12
你好   请参考我的分享

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

版主V5,向你致敬

使用特权

评论回复
7
xishuidemian|  楼主 | 2014-9-5 18:07 | 只看该作者
谢谢大家,懂了结贴。

使用特权

评论回复
8
edishen| | 2014-9-10 22:08 | 只看该作者
群里有大神啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

43

帖子

0

粉丝