MSP430 C語(yǔ)言的關(guān)鍵字擴展
1.interrupt 用于中斷函數。
定義如下:
語(yǔ)法: interrupt void 函數名()
或者
interrupt[中斷向量]void 函數名()
參數:中斷函數沒(méi)有參數。中斷函數需要指定中斷向量。
返回:中斷函數一般是void,沒(méi)有返回。
說(shuō)明:interrupt關(guān)鍵字聲明了在處理器發(fā)生中斷時(shí)調用;函數的參數必須為空
2.monitor 使函數進(jìn)入原型(atomic)操作狀態(tài)。
定義如下:
語(yǔ)法:monitor 函數類(lèi)型 函數名(參數表)
參數:該函數可以有參數,也可以沒(méi)有參數。
返回:函數可以有返回,也可以沒(méi)有返回。
說(shuō)明:monitor關(guān)鍵字使得在函數執行期間禁止中斷,使函數執行不可中斷;在其它所有方面,有monitor聲明的函數則與普通函數相同。
3.no_init
語(yǔ)法:no_init 變量聲明
說(shuō)明:在默認情況下,MSP430的C語(yǔ)言編譯器將變量存放在主RAM中,并在啟動(dòng)時(shí)對其進(jìn)行初始化。no_init類(lèi)型修正符使編譯器把變量放在非易失RAM區中(如EEPROM、FLASH等),在啟動(dòng)時(shí)也不對它們進(jìn)行初始化。在no_init變量的聲明中,不能含有初始化。如果用了非易失RAM,連接時(shí)要安排在非易失RAM區,地址范圍為0x0000~0xFFFF。實(shí)際可用范圍是0x200~0xFFDF.
4.sfrb 用于聲明單字節I/O數據類(lèi)型對象。
語(yǔ)法:sfrb 標識符=常量表達式
說(shuō)明:sfrb表示一個(gè)I/O寄存器,具有以下特點(diǎn):等價(jià)于無(wú)符號字符,只能直接尋址,它駐留地址范圍0x00~0xFF之內,例如:sfrb PxOUT =0x0021; 定義了Px端口的輸出寄存器
5.sfrw 用于聲明雙字節I/O數據類(lèi)型對象。
語(yǔ)法:sfrw 標識符=常量表達式
說(shuō)明:sfrw表示一個(gè)I/O寄存器,具有以下特點(diǎn): 等價(jià)于無(wú)符號字符,它只能直接尋址,它駐留地址范圍0x100~0x1FF之內,例如:sfrw WDTCTL =0x0021; //定義了看門(mén)狗的寄存器。
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評論