Interrupt and Debounce program for Labs

Dependencies:   mbed C12832

Revision:
0:49ecc494fc69
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Jun 25 10:13:46 2020 +0000
@@ -0,0 +1,39 @@
+#include "mbed.h"
+#include "C12832.h"
+
+C12832 lcd(p5, p7, p6, p8, p11);
+
+InterruptIn joystickcenter(p14);
+InterruptIn button(p9);
+Timer debounce;
+
+DigitalOut led(LED1);
+DigitalOut flash(LED4);
+
+int x ;
+
+void flip() {
+    led = !led; //toggles the led when the joystick is pressed.
+    if (debounce.read_ms() > 3000 )
+    
+    x = 1; 
+    debounce.reset();
+    }
+int main() {
+    debounce.start();
+    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)
+        {
+            wait (0.20);
+            lcd.printf("high");
+            x = 0;
+        }
+        wait(0.25);            // the instruction to wait for a quarter-second  
+    }
+}