Debouncing

Dependencies:   mbed C12832

Revision:
0:6b510cf92f81
Child:
1:73ef4330603a
--- /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
+ }
+}