打印
[其他ST产品]

cubeIDE 编译等级不同,if函数可能无法正常执行?

[复制链接]
501|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
芯片使用G030,优化等级高于optimize for debug时,就会出现 main函数里的while()循环出现if()内语句不能正常执行的问题



查了半天才发现跟优化等级的有关的

使用特权

评论回复
沙发
elephant00| | 2022-9-2 10:41 | 只看该作者

优化等级很考验C语言功底啊,要求不高就别开起优化等级了

使用特权

评论回复
板凳
sonicll| | 2022-9-2 11:18 | 只看该作者
你把if语句用来判断的变量,定义前面加个volatile关键字再试试

使用特权

评论回复
地板
两只袜子| | 2022-9-3 10:00 | 只看该作者
if的变量要申明成volatile了吗?否则编译不会每次读出变量的最新值做判断。

使用特权

评论回复
5
cr315| | 2022-9-4 10:00 | 只看该作者


这是正常现象,跟你的代码、跟优化等级息息相关。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1522

主题

4615

帖子

6

粉丝