habe an den Sensor erfolgreich ein I2C Display angeschlossen.
Um Strom zu sparen, möchte ich es generell ausschalten, und nur bei Tastendruck über eine Taster für 5 Sekunde einschalten.
Die beiden externen Interrupts sind ja bereits vergeben (Pin 2, Pin 3).
Somit dachte ich an einen Pin Changed Interrupt auf Port D, Pin 7.
Leider bekomme ich den Interrupt nicht durch.
Der Gegentest auf einem nackten Arduino Pro mini hat funktioniert, also ist der Code generell ok.
Warum kommt mein Interrupt in Verbindung mit der Firmware nicht durch?
Code: Alles auswählen
pinMode(BUTTON_PIN, INPUT_PULLUP);
cli();
// enable PCIE2 Bit2 = 1 (Port D)
PCICR |= (1 << PCIE2);
// enable PIN7
PCMSK2 |= (1 << PCINT23);
sei();
Code: Alles auswählen
ISR (PCINT2_vect)
{
// interrupt Port D
lcd.setCursor(0,1);
lcd.print("wakeUp");
}
Thomas