![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
CA 2.3.1 Debouncing
Diff: main.cpp
- Revision:
- 0:c85a8aa92f33
diff -r 000000000000 -r c85a8aa92f33 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Jul 26 20:54:08 2020 +0000 @@ -0,0 +1,32 @@ +#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(); +if (debounce.read_ms()>1000) +debounce.reset(); + 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! + if(x==1) { + lcd.locate(0,0); + lcd.printf("Variable has been SET!"); + flash = !flash; // turns LED4 on if off, off if on + x=0; + wait(0.25); // the instruction to wait for a quarter-second + } + } +} +