watershade 发表于 2015-8-17 22:32:45

a707083746 发表于 2015-8-17 09:45
原来是这个问题啊,改成 Level 0(-O0)就行了 谢谢

这个到底是为什么?为什么优化等级高会影响中断?

a707083746 发表于 2015-8-17 22:37:15

watershade 发表于 2015-8-17 22:32
这个到底是为什么?为什么优化等级高会影响中断?

只知其然,不知其所以然:L

watershade 发表于 2015-8-18 08:49:52

a707083746 发表于 2015-8-17 10:16
是啊原来是(据说相当于Level 2(-O2))

那楼主后来设置的是level 0? 要是设置1试试?看看是不是level1的优化造成的,我查了资料说level1是死代码删除!不知道是什么意思。

watershade 发表于 2015-8-18 13:26:34

向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定义中而非声明中?造成只在一个文件中有volatile。
降低优化才能成功,是不是就说明了你的程序中有一些不够规范的东西?

a707083746 发表于 2015-8-18 22:09:54

watershade 发表于 2015-8-18 13:26
向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定 ...

明天试试,现在板子不在。
volatile加在串口接收中断函数上面的,没在其他文件中用

a707083746 发表于 2015-8-19 22:41:09

watershade 发表于 2015-8-18 13:26
向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定 ...

原来的程序改得面目全非了~~

watershade 发表于 2015-8-20 09:10:30

a707083746 发表于 2015-8-19 22:41
原来的程序改得面目全非了~~

那好办,你全工程搜索一下这个量在那里声明的。你看一看这篇文章:http://www.amobbs.com/thread-4214047-1-1.html 请看19楼,也许对你有用——可能是同样问题。

dsjsjf 发表于 2015-8-20 21:28:03

我一般都把优化关掉再调试
页: 1 [2]
查看完整版本: 如图,有没有人碰到过这样的问题啊?