你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
Tension 发表于 2015-8-17 09:34 优化等级开得比较高,所以调试不方便。
watershade 发表于 2015-8-18 13:26 向问问楼主,你的volatile添加的位置。你的中断和使用是不是不在同一个文件中。然后有奖volatile只添加在定 ...
watershade 发表于 2015-8-17 09:04 设置成volatile
星辰一方 发表于 2015-8-17 09:19 楼上正解,楼主可以试下,否则就是你的代码里其他地方误操作了
feiante 发表于 2015-8-17 10:01 原来是优化的问题啊
a707083746 发表于 2015-8-17 09:45 原来是这个问题啊,改成 Level 0(-O0)就行了 谢谢
watershade 发表于 2015-8-17 22:32 这个到底是为什么?为什么优化等级高会影响中断?
a707083746 发表于 2015-8-17 10:16 是啊 原来是(据说相当于Level 2(-O2))
原来是这个问题啊,改成 Level 0(-O0)就行了 谢谢
降低优化才能成功,是不是就说明了你的程序中有一些不够规范的东西?
明天试试,现在板子不在。
volatile加在串口接收中断函数上面的,没在其他文件中用
写成 volatile u8 Len = 0; 也一样~~
这个变量只在串口中断里赋值
是啊 原来是<default>(据说相当于Level 2(-O2))
这个到底是为什么?为什么优化等级高会影响中断?
只知其然,不知其所以然
那楼主后来设置的是level 0? 要是设置1试试?看看是不是level1的优化造成的,我查了资料说level1是死代码删除!不知道是什么意思。