PIC讀書(shū)筆記4:中斷函數(shù)注意事項(xiàng)
1:中斷名稱(chēng)
本文引用地址:http://cafeforensic.com/article/201609/296518.htm例如Timer1中斷:
void __attribute__ ((interrupt)) _T1Interrupt (void)
{
//interrupt service roution code here..
}
函數(shù)名_T1Interrupt并不是隨意選擇的,她是中斷向量表中預(yù)先定義的Timer1中斷標(biāo)志符,并且在連接器腳本中需要加載代碼,加載的是“.gld”文件。
C30編譯器中用到的__attribute__(())機(jī)制是用于說(shuō)明特殊功能的C語(yǔ)言擴(kuò)展功能。個(gè)人認(rèn)為這種語(yǔ)法又長(zhǎng)又難讀。推薦使用include文(.h)件里的宏定義,這樣可以大大提高代碼的可讀性。下面代碼與上面功能一樣。使用宏_ISR_實(shí)現(xiàn):
void _ISR _T1Interrupt (void)
{
//interrupt service roution code here..
}
2:關(guān)于中斷代碼長(zhǎng)度:
冗長(zhǎng)的計(jì)算應(yīng)該放在主函數(shù)中,而不是放在中斷服務(wù)程序中。
評(píng)論