各位坛友,
我在用Pic 16f1825单片机开发程序的时候遇到个问题,两个全局变量,一个unsigend int (u16): tempu16,一个unsigned long(u32):tempu32, 串口打印u16的数值都是大于unsigned long的,但是发现
if(tempu16 > tempu32)
printf("judge 1\n");
这个“judge1”的log有时候有,有时候没有,就是说判断条件有时候成立,有时候不成立。
后将tempu16的变量定义成u32的就不再有问题。
使用的mplab ide的环境,picc9.8编译器.
有哪位碰到过类似的问题吗?没法解释清楚啊!
要不就搞成都是U32 要不就在语句中强制转换吧。 这样搞很担心啊。万一编译器给你编译错了你的程序就很恼火啊。没必要给自己找麻烦。