Interrupt registration looks like this:
Code: Select all
attachInterrupt(digitalPinToInterrupt(PA0), button_ISR1, FALLING);
attachInterrupt(digitalPinToInterrupt(PA1), button_ISR2, FALLING);
attachInterrupt(digitalPinToInterrupt(PA2), button_ISR3, FALLING);
void button_ISR1()
{
if (prevBTN[0] == HIGH)
{
Serial.println("ISR R"); //Just Test Line
button1_time_check = false;
button1_Interrupt_flag = true;
}
}
void button_ISR2()
{
if (prevBTN[1] == HIGH)
{
Serial.println("ISR G"); //Just Test Line
button2_time_check = false;
button2_Interrupt_flag = true;
}
}
void button_ISR3()
{
if (prevBTN[2] == HIGH)
{
Serial.println("ISR B"); //Just Test Line
button3_time_check = false;
button3_Interrupt_flag = true;
}
}
I want to know the reason.