您的位置:首页 > 其它

keil 5.18 将一个数强制转换成short数据进行比较时出错

2017-02-06 14:08 302 查看
if (*(short *)ThresholdAddress == 0xffff)

{
threshold = thresholdDefault;
}

如上所示这个在调试当中一直为假,在看汇编代码与寄存器跟踪调试的时候发现与0xffff比较的数不是short型而是一个32bit的数据

如果换成

if (*(unsigned char *)ThresholdAddress == 0xff)

{
threshold = thresholdDefault;

}

可以得到正常结果

所以记录下来以后慢慢研究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  keil short 比较
相关文章推荐