interrupt trigger on both rising and falling edge (for level sensitive triggering)

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
iamhuzhe
Date:
Thu Jul 22 02:33:32 2010 +0000
Commit message:

Changed in this revision

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
diff -r 000000000000 -r caf032e2b330 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Jul 22 02:33:32 2010 +0000
@@ -0,0 +1,60 @@
+#include "mbed.h"
+
+InterruptIn button(p8);
+DigitalIn bb(p8);
+
+DigitalOut led(LED4);
+DigitalOut flash(LED3);
+Timeout t1;
+Timeout t2;
+
+int b1;
+int b2;
+void flip_again() {
+    if (bb==1) {
+        led = 1;
+
+    }
+    b1 = 0;
+
+}
+
+void flip_again2() {
+
+    if (bb==0) {
+        led = 0;
+
+    }
+    b2 = 0;
+
+
+}
+
+void flip() {
+    if (b1 == 0) {
+        b1 = 1;
+        t1.attach_us(&flip_again,100);
+    }
+}
+
+
+void flip2() {
+    if (b2 == 0) {
+        b2 = 1;
+        t2.attach_us(&flip_again2,100);
+    }
+}
+
+
+
+int main() {
+
+    button.mode(PullDown);
+    button.rise(&flip);  // attach the address of the flip function to the rising edge
+    button.fall(&flip2);
+    while (1) {          // wait around, interrupts will interrupt this!
+        flash = !flash;
+      
+        wait(1);
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r caf032e2b330 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jul 22 02:33:32 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9114680c05da