modu8888 发表于 2017-1-11 12:29:15

编译器有BUG吗?

       在项目过程中遇到两次问题,描述如下:
       昨天把一个在F030上跑的程序移植到F105上,不能用了。一个一个排查,最后发现有一个全局变量加1(Index_Rec++;)的值在UART接受中断回调程序中没有执行,改由另外一个全局变量减1(Len_Rec--;)就可以了。不应该啊!

   另外就是遇到略微综合的算式,也会出问题。比如a=a+b×c+d-e;非要写成n句啊!

      请朋友们点拨!

QianFan 发表于 2017-1-11 12:37:12

中断中修改的变量加个volative试试

modu8888 发表于 2017-1-11 12:41:21

QianFan 发表于 2017-1-11 12:37
中断中修改的变量加个volative试试

收到,试试回复!谢~

modu8888 发表于 2017-1-11 13:10:00

试过,还是不行 :'(

斜阳__ 发表于 2017-1-11 13:16:24

我觉得不是++和--的问题;应该是变量定义、声明、和引用上有问题;

modu8888 发表于 2017-1-11 13:41:41

斜阳__ 发表于 2017-1-11 13:16
我觉得不是++和--的问题;应该是变量定义、声明、和引用上有问题;

谢我再分析看看!

Dylan疾风闪电 发表于 2017-1-11 17:06:54

没遇到过,用的什么IDE。是否被IDE优化了?:)

KCL 发表于 2017-1-11 17:29:43

是否是3個線程的關係,在++前先取值,加完,再給值,如果是這樣,在++後,寫個空的delay看看.

andypanfan 发表于 2017-1-12 09:04:04

我好像没有出现过这种问题,好奇怪!!!!

modu8888 发表于 2017-1-12 09:13:53

KCL 发表于 2017-1-11 17:29
是否是3個線程的關係,在++前先取值,加完,再給值,如果是這樣,在++後,寫個空的delay看看.
...

也试过 ,还是不行啊!
页: [1] 2
查看完整版本: 编译器有BUG吗?