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