LAB#1: InterruptIn

Dependencies:   mbed

Committer:
hulmpants
Date:
Thu Aug 15 16:56:39 2019 +0000
Revision:
1:cd0e7975714c
Embedded_LAB1

Who changed what in which revision?

UserRevisionLine numberNew 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(&centre);
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 }