如图,有没有人碰到过这样的问题啊?
Len 是一个全局变量,只在串口接收中断中自加而且执行 Len = 0;后Len都不等于0的好奇怪:'(
Tension 发表于 2015-8-17 09:34
优化等级开得比较高,所以调试不方便。
原来是这个问题啊,改成 Level 0(-O0)就行了 谢谢 设置成volatile
楼上正解,楼主可以试下,否则就是你的代码里其他地方误操作了 添加到watch中看看,看光标没有执行LEN=0。退出if判断以后再看看值的内容。 watershade 发表于 2015-8-17 09:04
设置成volatile
写成 volatile u8 Len = 0;也一样~~ 星辰一方 发表于 2015-8-17 09:19
楼上正解,楼主可以试下,否则就是你的代码里其他地方误操作了
这个变量只在串口中断里赋值 优化等级开得比较高,所以调试不方便。 原来是优化的问题啊 feiante 发表于 2015-8-17 10:01
原来是优化的问题啊
是啊原来是<default>(据说相当于Level 2(-O2))
页:
[1]
2