TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS开发遇到一个无法理解的问题

如图,用if判断值是否为1,明明显示是1,而且这个值我设置为1,但是就是进不去if里面的语句,我实在是无法理解。

YongHong Zhang:

问题已解决,通过看反汇编到吗,发现汇编代码依着循环判断R0的值,但是从没更新R0,之前也怀疑可能是被优化了的问题,所以吧编译器优化关了,但是还是不行,最后是加volatile关键字解决的,难道关了优化,还是会被优化,但是每次从内存读取不知道是否会影响速度。

gaoyang9992006:

回复 YongHong Zhang:

确实默认还是会启动部分优化,所以你需要每次都重新读写的变量还是加volatile来保证比较好。

xyz549040622:

回复 YongHong Zhang:

因为你没有操作这个值,所以编译器被优化掉了。

赞(0)
未经允许不得转载:TI中文支持网 » CCS开发遇到一个无法理解的问题
分享到: 更多 (0)