即使事件未发生,ISR也执行一次

时间:2019-11-08 17:05:14

标签: c microcontroller interrupt pic atmega

我正在PIC24F Curiosity开发板上使用PIC24FJ128GA204微控制器。 即使事件未发生,ISR也至少执行一次。

代码如下:

#include <xc.h>  
int Random_mode_condition=0;
void __attribute__((__interrupt__, __shadow__)) _INT1Interrupt(void) {
   Random_mode_condition = 44; 
    _INT1IF = 0;
}
void RC9_Switch_Config() {
    _TRISC9 = 1; // Switch input
   RPINR0bits.INT1R = 25;
    IFS1bits.INT1IF=0;//Clear the interrupt flag
    IPC5bits.INT1IP1=1;//Choose a priority
    INTCON2bits.INT1EP=0;//rising edge
    IEC1bits.INT1IE=1;//enable INT1 interrupt
}

int main() {
    LATC=0x0000;
    RC9_Switch_Config();
    while(1){
    if(Random_mode_condition==44){ TRISC=0x0000; LATC=0xffff;}
    }
    return 0;
}

Random_mode_condition等于44,则将执行if语句。 请帮助

0 个答案:

没有答案