Use the button on Nucleo board in Interrupt mode
main.cpp@0:1b77c1ffae11, 2015-12-28 (annotated)
- Committer:
- sjallouli
- Date:
- Mon Dec 28 23:04:25 2015 +0000
- Revision:
- 0:1b77c1ffae11
Use the button in interrupt mode on the Nucleo board
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sjallouli | 0:1b77c1ffae11 | 1 | #include "mbed.h" |
sjallouli | 0:1b77c1ffae11 | 2 | |
sjallouli | 0:1b77c1ffae11 | 3 | DigitalOut myled(LED1); |
sjallouli | 0:1b77c1ffae11 | 4 | InterruptIn mybutton(USER_BUTTON); |
sjallouli | 0:1b77c1ffae11 | 5 | |
sjallouli | 0:1b77c1ffae11 | 6 | float delay = 1.0; // 1 sec |
sjallouli | 0:1b77c1ffae11 | 7 | |
sjallouli | 0:1b77c1ffae11 | 8 | void pressed() |
sjallouli | 0:1b77c1ffae11 | 9 | { |
sjallouli | 0:1b77c1ffae11 | 10 | if (delay == 1.0) |
sjallouli | 0:1b77c1ffae11 | 11 | { |
sjallouli | 0:1b77c1ffae11 | 12 | delay = 0.2; // 200 ms |
sjallouli | 0:1b77c1ffae11 | 13 | } |
sjallouli | 0:1b77c1ffae11 | 14 | else |
sjallouli | 0:1b77c1ffae11 | 15 | { |
sjallouli | 0:1b77c1ffae11 | 16 | delay = 1.0; // 1 sec |
sjallouli | 0:1b77c1ffae11 | 17 | } |
sjallouli | 0:1b77c1ffae11 | 18 | } |
sjallouli | 0:1b77c1ffae11 | 19 | |
sjallouli | 0:1b77c1ffae11 | 20 | int main() |
sjallouli | 0:1b77c1ffae11 | 21 | { |
sjallouli | 0:1b77c1ffae11 | 22 | mybutton.fall(&pressed); |
sjallouli | 0:1b77c1ffae11 | 23 | |
sjallouli | 0:1b77c1ffae11 | 24 | while (1) |
sjallouli | 0:1b77c1ffae11 | 25 | { |
sjallouli | 0:1b77c1ffae11 | 26 | myled = !myled; |
sjallouli | 0:1b77c1ffae11 | 27 | wait(delay); |
sjallouli | 0:1b77c1ffae11 | 28 | } |
sjallouli | 0:1b77c1ffae11 | 29 | } |