GPIO IRQ example: add check for interrupt source (#401)

This commit is contained in:
9names 2022-07-28 10:14:20 +10:00 committed by GitHub
parent 96552b28c5
commit c7acafda3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -174,7 +174,9 @@ fn IO_IRQ_BANK0() {
// these will be of type `&mut LedPin` and `&mut ButtonPin`, so we don't have
// to move them back into the static after we use them
let (led, button) = gpios;
// Check if the interrupt source is from the pushbutton going from high-to-low.
// Note: this will always be true in this example, as that is the only enabled GPIO interrupt source
if button.interrupt_status(EdgeLow) {
// toggle can't fail, but the embedded-hal traits always allow for it
// we can discard the return value by assigning it to an unnamed variable
let _ = led.toggle();
@ -184,5 +186,6 @@ fn IO_IRQ_BANK0() {
button.clear_interrupt(EdgeLow);
}
}
}
// End of file