天天看點

C語言 關鍵字 volatile (ARM9中也常用到 一并解釋)

關鍵字volatile:

本質->

volatile 、 const 絕對對立。若有 volatile 修飾,則表示記憶體會重新裝載内容,而非直接從寄存器copy内容。

這裡引出一下->

const是什麼?

1 const 定義

const 修飾的資料類型是指常類型,常類型的變量或對象的值是不能被更新的。

2 const 作用

可以定義 const 常量,具有不可變性。例如:

const int a = 100; a++會産生error。

3 常量解釋

常量,例如6, “xiaoming”等,是隻讀的。因為是隻讀,是以被編譯器放在記憶體中的隻讀區域,當然不可修改。

****應用舉例:

volatile應用比較多的場合 比如->

U32 GPCON; //#define U32 unsigned int

U32 GPDAT;

U32 GPUDP;

U32 GPSEL;

}volatile GPIO_MemMapPtr;

使用volatile後 寄存器允許再次更新指派。*