Interrupt and Debounce program for Labs

Dependencies:   mbed C12832

Files at this revision

API Documentation at this revision

Comitter:
tonyk37
Date:
Thu Jun 25 10:13:46 2020 +0000
Commit message:
Interrupt and Debounce program

Changed in this revision

C12832.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C12832.lib	Thu Jun 25 10:13:46 2020 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/chris/code/C12832/#7de323fa46fe
--- /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  
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jun 25 10:13:46 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file