
LAB#1: InterruptIn
Emb_LAB1.cpp@1:cd0e7975714c, 2019-08-15 (annotated)
- Committer:
- hulmpants
- Date:
- Thu Aug 15 16:56:39 2019 +0000
- Revision:
- 1:cd0e7975714c
Embedded_LAB1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hulmpants | 1:cd0e7975714c | 1 | // IT Tralee Mechatronics: Embedded Systems LAB#1 |
hulmpants | 1:cd0e7975714c | 2 | |
hulmpants | 1:cd0e7975714c | 3 | |
hulmpants | 1:cd0e7975714c | 4 | #include "mbed.h" |
hulmpants | 1:cd0e7975714c | 5 | |
hulmpants | 1:cd0e7975714c | 6 | InterruptIn d(p12); // down |
hulmpants | 1:cd0e7975714c | 7 | InterruptIn l(p13); // left |
hulmpants | 1:cd0e7975714c | 8 | InterruptIn c(p14); // centre |
hulmpants | 1:cd0e7975714c | 9 | InterruptIn u(p15); // up |
hulmpants | 1:cd0e7975714c | 10 | InterruptIn r(p16); // right |
hulmpants | 1:cd0e7975714c | 11 | |
hulmpants | 1:cd0e7975714c | 12 | |
hulmpants | 1:cd0e7975714c | 13 | DigitalOut flash(LED1); |
hulmpants | 1:cd0e7975714c | 14 | |
hulmpants | 1:cd0e7975714c | 15 | void left() { |
hulmpants | 1:cd0e7975714c | 16 | printf("Left \n \r"); // print |
hulmpants | 1:cd0e7975714c | 17 | } |
hulmpants | 1:cd0e7975714c | 18 | |
hulmpants | 1:cd0e7975714c | 19 | void right() { |
hulmpants | 1:cd0e7975714c | 20 | printf("Right \n \r"); |
hulmpants | 1:cd0e7975714c | 21 | } |
hulmpants | 1:cd0e7975714c | 22 | |
hulmpants | 1:cd0e7975714c | 23 | void up() { |
hulmpants | 1:cd0e7975714c | 24 | printf("Up \n \r"); |
hulmpants | 1:cd0e7975714c | 25 | } |
hulmpants | 1:cd0e7975714c | 26 | |
hulmpants | 1:cd0e7975714c | 27 | void down() { |
hulmpants | 1:cd0e7975714c | 28 | printf("Down \n \r"); |
hulmpants | 1:cd0e7975714c | 29 | } |
hulmpants | 1:cd0e7975714c | 30 | |
hulmpants | 1:cd0e7975714c | 31 | void centre() { |
hulmpants | 1:cd0e7975714c | 32 | printf("Centre \n \r"); |
hulmpants | 1:cd0e7975714c | 33 | } |
hulmpants | 1:cd0e7975714c | 34 | |
hulmpants | 1:cd0e7975714c | 35 | int main() { |
hulmpants | 1:cd0e7975714c | 36 | l.rise(&left); // address to interrupt rising edge |
hulmpants | 1:cd0e7975714c | 37 | r.rise(&right); |
hulmpants | 1:cd0e7975714c | 38 | u.rise(&up); |
hulmpants | 1:cd0e7975714c | 39 | d.rise(&down); |
hulmpants | 1:cd0e7975714c | 40 | c.rise(¢re); |
hulmpants | 1:cd0e7975714c | 41 | |
hulmpants | 1:cd0e7975714c | 42 | while(1) { // LED flash = interrupt active |
hulmpants | 1:cd0e7975714c | 43 | flash = !flash; |
hulmpants | 1:cd0e7975714c | 44 | wait(0.2); |
hulmpants | 1:cd0e7975714c | 45 | } |
hulmpants | 1:cd0e7975714c | 46 | } |