一、volatile關(guān)鍵字
(1)volatile作用
從單片機中直接存取原始內(nèi)存地址,防止編譯器的優(yōu)化,導(dǎo)致聲明的變量未被執(zhí)行。
(2)格式
(3)表達
注:如果編譯調(diào)試中,依舊存在程序被優(yōu)化現(xiàn)象,可設(shè)置降低代碼優(yōu)化等級。
二、register關(guān)鍵字
(1)register作用
這個關(guān)鍵字請求編譯器盡可能的將變量存在CPU內(nèi)部寄存器中,而不是通過內(nèi)存尋址訪問,以提高效率。
注:注意是盡可能,不是絕對。
用法:為了提高精度,循環(huán)的次數(shù)越多越好,可以將循環(huán)的增量控制定義為寄存器變量register。
(2)格式
(3)表達
(4)例子
三、attribute關(guān)鍵字
(1)attribute作用用于給聲明的數(shù)組、變量,指定具體的存儲地址位置。
注:①attribute是用來指定變量或結(jié)構(gòu)位域的特殊屬性,該關(guān)鍵字后的雙括弧中的內(nèi)容是屬性說明。
②at關(guān)鍵字可以用來設(shè)置變量的絕對地址,也就是通過這個關(guān)鍵字,指定某個變量處于內(nèi)存里面的某個給定的地址。
(2)格式
(3)表達
指的是,將 array數(shù)組的首地址設(shè)定為0x0800C000.
注:該聲明不可用于函數(shù)內(nèi)的局部變量/形式參數(shù)。(函數(shù)內(nèi)局部變量/形式參數(shù),在函數(shù)調(diào)用時才聲明入棧,調(diào)用結(jié)束后,會被出棧,無法指定具體地址)
-
單片機
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635405 -
調(diào)試
+關(guān)注
關(guān)注
7文章
578瀏覽量
33946 -
Register
+關(guān)注
關(guān)注
0文章
36瀏覽量
13939 -
關(guān)鍵字
+關(guān)注
關(guān)注
0文章
37瀏覽量
6898 -
volatile
+關(guān)注
關(guān)注
0文章
45瀏覽量
13031
發(fā)布評論請先 登錄
相關(guān)推薦
評論