diff --git a/module04/ex02/main.c b/module04/ex02/main.c index 478cecd..b0dc699 100644 --- a/module04/ex02/main.c +++ b/module04/ex02/main.c @@ -20,7 +20,6 @@ // 13.2.6 : PCMSK2 – Pin Change Mask Register 2 // -> (1 << PCINT20) | (1 << PCINT18) -volatile uint8_t prevPIND; // Store previous state of PIND volatile uint8_t value = 0; void print_binary(int value) { @@ -81,20 +80,10 @@ int main() { PCICR = (1 << PCIE2); // 13.2.4 : enable pin change interrupt, bit PCIE2 for PCINT[23:16], (Table 14-9 : alternates : PD2 - PCINT18, PD4 - PCINT20) PCMSK2 = (1 << PCINT20) | (1 << PCINT18); // 13.2.6 : enable individual pin chang interrupt - prevPIND = PIND; - while(1); } ISR(PCINT2_vect) { - uint8_t currentPIND = PIND; // Read the current state of Port D - uint8_t changedPins = currentPIND ^ prevPIND; // Find changed bits - - if (!TEST(changedPins, SW1)) { - on_press(SW1, increment_led); - } - if (!TEST(changedPins, SW1)) { - on_press(SW2, decrement_led); - } - prevPIND = currentPIND; + on_press(SW1, increment_led); + on_press(SW2, decrement_led); }