by Rob Toulson and Tim Wilmshurst from textbook "Fast and Effective Embedded Systems Design: Applying the ARM mbed"
Diff: main.cpp
- Revision:
- 0:573e9069e2ea
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri May 24 21:50:05 2013 +0000 @@ -0,0 +1,17 @@ +/* Program Example 9.12: Event driven LED switching with switch debounce + */ +#include "mbed.h" +InterruptIn button(p18); // Interrupt on digital pushbutton input p18 +DigitalOut led1(LED1); // digital out to LED1 +Timer debounce; // define debounce timer +void toggle(void); // function prototype +int main() { + debounce.start(); + button.rise(&toggle); // attach the address of the toggle +} // function to the rising edge +void toggle() { +if (debounce.read_ms()>10) // only allow toggle if debounce timer + led1=!led1; // has passed 10 ms + debounce.reset(); // restart timer when the toggle is performed +} +