當我嘗試使用PICMicro C編譯器編譯PIC程序的代碼時,出現中斷服務程序部分的錯誤「不完整類型不允許」驗證碼:PIC的中斷服務程序「不完整類型不允許」用於PIC
char chB = 0;
int clicks = 0;
void interrupt ISR(void) //incomplete type is not allowed
{
if(RBIF == 1)
{
clicks++;
chB = PORTB;
RBIF = 0;
}
}
檢查多個來源後,我仍然沒有看到如何服務程序不正確地寫入..
編輯: 感謝您的幫助,我已經找到了解決辦法:
char chB = 0;
int clicks = 0;
#pragma vector = 0x04
__interrupt void isr(void)
{
if(RBIF == 1)
{
clicks++;
chB = PORTB;
RBIF = 0;
}
}
如果你使用的GCC,嘗試用'無效__attribute__((中斷))ISR(無效)' – Jigsore
我懷疑'ISR'標識符是需要ISR名稱的宏... – 2012-11-22 05:44:03
@ H2CO3 ISR標識符是一個隨機函數名稱。我更改爲其他名稱,它仍然不工作.. – staca