Switch Debouncing (oscillazione bottoni)

Dependencies:   mbed

main.cpp

Committer:
Mattinico
Date:
2016-11-06
Revision:
0:1dac861f0eae

File content as of revision 0:1dac861f0eae:

 /* Program Example 10: Event driven LED switching with switch debounce
 */
 #include "mbed.h"
 InterruptIn button(PC_13); // 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
 }