Hi,
I am using arduino-1.8.19(Tried with arduino-1.8.13 as well) portable.
Code is compiling and uploading fine. But defined interrupt is not actually working. I have tried with other PINs also as interrupt input but non of them are working.
There is one observation with this code is PA2 Pin is highly sensible to interruptby default even with human finger touch(But Not by falling/Rising edge or level 0/1) is creating call of defined interrupt subroutine. Kindly suggest solution if any.
Here is the code I am using:
#define R1 PD1 //ROW1
#define R2 PC6 //ROW2
#define R3 PC5 //ROW3
#define R4 PC3 //ROW4
#define C1 PB4 //COL1
#define C2 PC7 //COL2
#define C3 PC4 //COL3
#define RED PD4 //ACTIVE HIGH
#define GREEN PA3 //ACTIVE HIGH
#define digitalPinToInterrupt(R1) ((R1)==(R1))
volatile uint8_t flag = 0;
int blink_delay = 800;
void button_pressed(void) {
flag = 1;
}
void setup() {
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(C1, OUTPUT);
pinMode(R1, INPUT_PULLUP);
digitalWrite(C1, 0);
digitalWrite(RED, 0);
digitalWrite(GREEN, 0);
attachInterrupt(digitalPinToInterrupt(R1), button_pressed, FALLING);
}
void loop(){
if (flag){
digitalWrite(GREEN, 1);
delay(blink_delay);
digitalWrite(GREEN, 0);
delay(blink_delay);
flag = 0;
}
else {
digitalWrite(RED, 1);
delay(blink_delay);
digitalWrite(RED, 0);
delay(blink_delay);
}
}