Ted Lin
/
Nucleo_key_led_with_timeout
implement button press/release with double check using fall/rise & timeout
Diff: main.cpp
- Revision:
- 2:d68f26154551
- Parent:
- 1:63744318c4d7
- Child:
- 3:e25965edbbe7
--- a/main.cpp Sun Aug 28 05:17:30 2016 +0000 +++ b/main.cpp Sun Aug 28 06:22:58 2016 +0000 @@ -1,15 +1,37 @@ #include "mbed.h" -DigitalIn mybutton(PB_3); +//------------------------------------ +// USER_KEY-PB3 +//------------------------------------ +InterruptIn mybutton(PB_3); +//------------------------------------ +// LED1-PA5 +//------------------------------------ DigitalOut myled(PA_5); +//------------------------------------ +// Hyperterminal configuration +// 9600 bauds, 8-bit data, no parity +// SERIAL_TX-PA2, SERIAL_RX-PA3 +//------------------------------------ +Serial pc(PA_2, PA_3); + +#define entry() pc.printf("func:%s\n", __func__) + +void pressed(void) +{ + entry(); + myled = 1; +} + +void released(void) +{ + myled = 0; +} int main(void) { + mybutton.fall(&pressed); + mybutton.rise(&released); while(1) { - if(mybutton == 0) { - myled = 1; // button pressed - } else { - myled = 0; // button released - } } } \ No newline at end of file