Marco Zecchini
/
Example_interrupt_button_timer
Interrupt on user button press and timer exaple usage
main.cpp@1:2e6e3436fc61, 2019-02-20 (annotated)
- Committer:
- marcozecchini
- Date:
- Wed Feb 20 15:56:57 2019 +0000
- Revision:
- 1:2e6e3436fc61
- Parent:
- 0:2ca55e55f55d
- Child:
- 2:2a43e5048e22
Starting from here - Marco
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
marcozecchini | 0:2ca55e55f55d | 1 | #include "mbed.h" |
marcozecchini | 0:2ca55e55f55d | 2 | /* |
marcozecchini | 0:2ca55e55f55d | 3 | * Button with interrupt example |
marcozecchini | 0:2ca55e55f55d | 4 | */ |
marcozecchini | 0:2ca55e55f55d | 5 | |
marcozecchini | 0:2ca55e55f55d | 6 | InterruptIn mybutton(USER_BUTTON); |
marcozecchini | 0:2ca55e55f55d | 7 | DigitalOut myled(LED1); |
marcozecchini | 0:2ca55e55f55d | 8 | |
marcozecchini | 1:2e6e3436fc61 | 9 | float delay = 5.0; // 1 sec |
marcozecchini | 0:2ca55e55f55d | 10 | |
marcozecchini | 0:2ca55e55f55d | 11 | void pressed() |
marcozecchini | 0:2ca55e55f55d | 12 | { |
marcozecchini | 1:2e6e3436fc61 | 13 | if (delay == 5.0) |
marcozecchini | 0:2ca55e55f55d | 14 | delay = 0.2; // 200 ms |
marcozecchini | 0:2ca55e55f55d | 15 | else |
marcozecchini | 1:2e6e3436fc61 | 16 | delay = 5.0; // 1 sec |
marcozecchini | 0:2ca55e55f55d | 17 | } |
marcozecchini | 0:2ca55e55f55d | 18 | |
marcozecchini | 0:2ca55e55f55d | 19 | int main() |
marcozecchini | 0:2ca55e55f55d | 20 | { |
marcozecchini | 0:2ca55e55f55d | 21 | mybutton.fall(&pressed); |
marcozecchini | 0:2ca55e55f55d | 22 | while (1) { |
marcozecchini | 0:2ca55e55f55d | 23 | myled = !myled; |
marcozecchini | 0:2ca55e55f55d | 24 | wait(delay); |
marcozecchini | 0:2ca55e55f55d | 25 | } |
marcozecchini | 0:2ca55e55f55d | 26 | } |