mbed Workshops
/
Workshop-1-Example-5
A digital input monitoring implementation with an interrupt.
main.cpp@0:501aab314b48, 2016-09-26 (annotated)
- Committer:
- sarahmarshy
- Date:
- Mon Sep 26 16:26:06 2016 +0000
- Revision:
- 0:501aab314b48
Initial commit. Interrupt button.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sarahmarshy | 0:501aab314b48 | 1 | #include "mbed.h" |
sarahmarshy | 0:501aab314b48 | 2 | |
sarahmarshy | 0:501aab314b48 | 3 | InterruptIn button(SW1); |
sarahmarshy | 0:501aab314b48 | 4 | DigitalOut led(LED1); |
sarahmarshy | 0:501aab314b48 | 5 | DigitalOut heartbeat(LED2); |
sarahmarshy | 0:501aab314b48 | 6 | |
sarahmarshy | 0:501aab314b48 | 7 | void toggle() { |
sarahmarshy | 0:501aab314b48 | 8 | led = !led; |
sarahmarshy | 0:501aab314b48 | 9 | } |
sarahmarshy | 0:501aab314b48 | 10 | |
sarahmarshy | 0:501aab314b48 | 11 | int main() { |
sarahmarshy | 0:501aab314b48 | 12 | button.rise(&toggle); // call toggle function on the rising edge |
sarahmarshy | 0:501aab314b48 | 13 | while(1) { // wait around, interrupts will interrupt this! |
sarahmarshy | 0:501aab314b48 | 14 | heartbeat= !heartbeat; |
sarahmarshy | 0:501aab314b48 | 15 | wait(0.25); |
sarahmarshy | 0:501aab314b48 | 16 | } |
sarahmarshy | 0:501aab314b48 | 17 | } |