读书人

关于volatile解决办法

发布时间: 2012-03-09 21:42:55 作者: rapoo

关于volatile
在单片机中,普通代码里和中断共享全局变量,用volatile可以解决他们之间的竞争导致的错误吗?

[解决办法]
“用volatile可以解决他们之间的竞争”? 不能 !
volatile只是告诉编译器这个变量会变化,不要优化。
对单片机如果变量在一个机器指令内存取完(如BYTE变量)就不会有竞争,但对要几个机器指令内存取完的变量如int(4bytes)就会有竞争问题。

读书人网 >单片机

热点推荐