编译器有BUG吗?
在项目过程中遇到两次问题,描述如下:昨天把一个在F030上跑的程序移植到F105上,不能用了。一个一个排查,最后发现有一个全局变量加1(Index_Rec++;)的值在UART接受中断回调程序中没有执行,改由另外一个全局变量减1(Len_Rec--;)就可以了。不应该啊!
另外就是遇到略微综合的算式,也会出问题。比如a=a+b×c+d-e;非要写成n句啊!
请朋友们点拨!
中断中修改的变量加个volative试试 QianFan 发表于 2017-1-11 12:37
中断中修改的变量加个volative试试
收到,试试回复!谢~ 试过,还是不行 :'( 我觉得不是++和--的问题;应该是变量定义、声明、和引用上有问题; 斜阳__ 发表于 2017-1-11 13:16
我觉得不是++和--的问题;应该是变量定义、声明、和引用上有问题;
谢我再分析看看! 没遇到过,用的什么IDE。是否被IDE优化了?:) 是否是3個線程的關係,在++前先取值,加完,再給值,如果是這樣,在++後,寫個空的delay看看.
我好像没有出现过这种问题,好奇怪!!!! KCL 发表于 2017-1-11 17:29
是否是3個線程的關係,在++前先取值,加完,再給值,如果是這樣,在++後,寫個空的delay看看.
...
也试过 ,还是不行啊!
页:
[1]
2