Re: 关_INT0中断的问题请教
|
||||
---|---|---|---|---|
版主
|
中斷函數進去時會自動將 GIEH (or GIEL) 清為零,直到執行 RETFIE 指令時再將 GIEH 設為 1 ,以開啟下一次的中斷功能。
#pragma code void PIC18F_HIGH_isr ( void ) 的宣告只是一般的函數而已,他會用 RETURN 的指令回去,這時 GIEH 位元還是為 0 ,所以就不會再發生中斷了。對中斷函數來說,這是錯誤的宣告。 #progma interrupt PIC_HIGH_isr void PIC_HIGH_sir(void) 的宣告為一中斷函數,所以返回時會用中斷反的方式回去。所以 GIEH 會重設為 1 讓下次的中斷可以進來。對中斷函數來說,這是正確的宣告。 有關中斷的操作可以看 W401 C18 的教育訓練第五張的說明: http://www.microchip.com.tw/modules/w ... glefile.php?cid=4&lid=236
發表於: 2010/1/8 18:16
|
|||
|