Lab Day 1, Experiment 2.3.1: Debouncing

Dependencies:   mbed C12832

Files at this revision

API Documentation at this revision

Comitter:
t00209054
Date:
Sun Aug 02 11:52:28 2020 +0000
Commit message:
V2

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	Sun Aug 02 11:52:28 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/askksa12543/code/C12832/#990d5eec2ef6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Aug 02 11:52:28 2020 +0000
@@ -0,0 +1,40 @@
+#include "mbed.h"
+#include "C12832.h"
+
+InterruptIn joystickcenter(p14);
+InterruptIn button(p9);
+DigitalOut led(LED1);
+DigitalOut flash(LED4);
+C12832 lcd(p5, p7, p6, p8, p11);
+
+// global declarations
+Timer debounce;
+int i;
+
+// instructions
+void flip()
+{
+    // local declarations
+    if (debounce.read_ms() > 1000) {
+        i = 1;
+        debounce.reset();
+        led = !led;                     // toggles the led when the joystick button is pressed.
+    }
+}
+
+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
+    debounce.start();
+    while(1) {                      // wait around, interrupts will interrupt this!
+        flash = !flash;             // turns LED4 on if off, off if on
+        wait(0.25);                 // the instruction to wait for half-second
+        if(i==1) {
+            lcd.locate(0,0);
+            lcd.printf("%d", debounce.read_ms());
+            i = 0;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Aug 02 11:52:28 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file