STM32单片机---volatile关键字
生活随笔
收集整理的這篇文章主要介紹了
STM32单片机---volatile关键字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
volatile關(guān)鍵字
- 1.應(yīng)用場景
- 2.示例
1.應(yīng)用場景
volatile關(guān)鍵字分析,往往應(yīng)用在三種場合
1)多線程編程共享全局變量的時候,該全局變量要加上volatile進行修飾,讓編譯器不要優(yōu)化該變量。
2)裸機編程的時候,某函數(shù)與中斷服務(wù)函數(shù)共享全局變量的時候,該全局變量要加上volatile進行修飾,讓編譯器不要優(yōu)化該變量。
3)ARM定義寄存器的時候,寄存器是指向一個地址,要加上volatile進行修飾,讓編譯器不要優(yōu)化而省略該變量的訪問。
編譯器不要優(yōu)化該變量指的是防止編譯器出現(xiàn)優(yōu)化過度,導(dǎo)致代碼運行失效。
加上volatile關(guān)鍵字生成的匯編代碼會發(fā)生明顯的變化,同樣調(diào)用delay函數(shù),燈的速度發(fā)生變化!
2.示例
delay函數(shù)在-O2等級,是否添加volatile關(guān)鍵字,反匯編分析。
總結(jié)
以上是生活随笔為你收集整理的STM32单片机---volatile关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重装系统之系统无法开机篇
- 下一篇: 部分插件由于缺少依赖无法加载。要恢复这些