1、首先明确一点的是:
集成开发环境IDE会自动优化程序,以提高程序的效率。
2、问题常出现在:
如果产生一个中断而在中断中恰好改变了该变量的值(改变的是存储在内存单元里的值),那么此时我们的目的很明确就是想改变他的值使程序继续执行改变后的值,但这时的情况就和我们想像的不一样了,而是直接从CPU寄存器直接读取该变量,读的是原来的值,所以这时就会产生错误,而很难找到错误的原因.
3、结语:
所以我们嵌入式编程过程中要养成定义volatile变量而避免出差错……