ISR выполняется один раз, даже если событие не произошло - PullRequest
1 голос
/ 08 ноября 2019

Я использую микроконтроллер PIC24FJ128GA204 в PIC24F Curiosity Development Board. 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;
}

Случайное_мод_условия будет равно 44, тогда будет выполняться оператор if. Пожалуйста, помогите

...