原来是这个问题啊,改成 Level 0(-O0)就行了 谢谢
这个到底是为什么?为什么优化等级高会影响中断? watershade 发表于 2015-8-17 22:32
这个到底是为什么?为什么优化等级高会影响中断?
只知其然,不知其所以然:L a707083746 发表于 2015-8-17 10:16
是啊原来是(据说相当于Level 2(-O2))
那楼主后来设置的是level 0? 要是设置1试试?看看是不是level1的优化造成的,我查了资料说level1是死代码删除!不知道是什么意思。 向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定义中而非声明中?造成只在一个文件中有volatile。
降低优化才能成功,是不是就说明了你的程序中有一些不够规范的东西? watershade 发表于 2015-8-18 13:26
向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定 ...
明天试试,现在板子不在。
volatile加在串口接收中断函数上面的,没在其他文件中用 watershade 发表于 2015-8-18 13:26
向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定 ...
原来的程序改得面目全非了~~ a707083746 发表于 2015-8-19 22:41
原来的程序改得面目全非了~~
那好办,你全工程搜索一下这个量在那里声明的。你看一看这篇文章:http://www.amobbs.com/thread-4214047-1-1.html 请看19楼,也许对你有用——可能是同样问题。 我一般都把优化关掉再调试
页:
1
[2]