interrupt rising/falling edge test

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
iamhuzhe
Date:
Thu Jul 22 01:35:19 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Jul 22 01:35:19 2010 +0000
@@ -0,0 +1,32 @@
+#include "mbed.h"
+
+BusOut leds( LED4, LED3, LED2, LED1 );
+char count;
+
+InterruptIn button( p16 );   //  interrupt instance for the button
+Timer t;               //  To manage debounce by menchanical switch
+
+#define DEBOUNCING_INTERVAL 20   //  Debouncing interval (in mili-seconds)
+
+void isr_buton( void ) {
+    if ( t.read_ms() > DEBOUNCING_INTERVAL ) {
+        leds    = (count++) & 0xF;
+    }
+    t.reset();  //  timer reset
+}
+
+void isr_button2(void) {
+    if ( t.read_ms() > DEBOUNCING_INTERVAL ) {
+        leds    = (count--) & 0xF;
+    }
+    t.reset();  //  timer reset
+}
+
+int main() {
+    count   = 0;
+    t.start();  //  timer start
+    button.rise( &isr_buton );
+    button.fall(&isr_button2);
+    while ( 1 ) {
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jul 22 01:35:19 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9114680c05da