你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

编译器有BUG吗?

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

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

      请朋友们点拨!

收藏 1 评论10 发布时间:2017-1-11 12:29

举报

10个回答
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看看.
...

也试过 ,还是不行啊!
modu8888 回答时间:2017-1-12 14:22:50
Dylan疾风闪电 发表于 2017-1-11 17:06
没遇到过,用的什么IDE。  是否被IDE优化了?

用的KEIL MDK5.x

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版