Joseph Forde
/
JF_Debouncing
Debouncing
Diff: main.cpp
- Revision:
- 0:6b510cf92f81
- Child:
- 1:73ef4330603a
diff -r 000000000000 -r 6b510cf92f81 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Jun 20 10:35:02 2020 +0000 @@ -0,0 +1,31 @@ +#include "mbed.h" +#include "C12832.h" +C12832 lcd(p5, p7, p6, p8, p11); +InterruptIn joystickcenter(p14); +InterruptIn button(p9); +DigitalOut led(LED1); +DigitalOut flash(LED4); +Timer debounce; +int x; + +void flip() { + debounce.start(); /* Start debounce timer */ + if (debounce.read_ms()>=3000) + { led = !led; // toggles the led when the joystick button is pressed. + x=1; + } +} +int main() { + joystickcenter.rise(&flip); // attach the function address to the rising edge + button.mode(PullUp); // With this, no external pullup resistor needed + button.rise(&flip); // attach the function address to the rising edge + while(1) { // wait around, interrupts will interrupt this! + flash = !flash; // turns LED4 on if off, off if on + if (x ==1) + { + lcd.printf("Test "); + x=0; + } + wait(0.25); // the instruction to wait for a quarter-second + } +}