Interrups_TINF

Dependencies:   mbed

Committer:
Reichi19
Date:
Thu Nov 15 17:12:51 2018 +0000
Revision:
0:0a60892ea9de
Interrups

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Reichi19 0:0a60892ea9de 1 #include "mbed.h"
Reichi19 0:0a60892ea9de 2
Reichi19 0:0a60892ea9de 3 #define UP 1
Reichi19 0:0a60892ea9de 4 #define DOWN 2
Reichi19 0:0a60892ea9de 5 #define STOP 0
Reichi19 0:0a60892ea9de 6
Reichi19 0:0a60892ea9de 7 InterruptIn iiCenter(p14);
Reichi19 0:0a60892ea9de 8 InterruptIn iiDown(p12);
Reichi19 0:0a60892ea9de 9 InterruptIn iiUp(p15);
Reichi19 0:0a60892ea9de 10 InterruptIn iiLeft(p13);
Reichi19 0:0a60892ea9de 11 InterruptIn iiRight(p16);
Reichi19 0:0a60892ea9de 12 BusOut doLeds(LED1,LED2,LED3,LED4);
Reichi19 0:0a60892ea9de 13 float delay = 0.5;
Reichi19 0:0a60892ea9de 14 char countDown = STOP;
Reichi19 0:0a60892ea9de 15
Reichi19 0:0a60892ea9de 16 void swOff() {
Reichi19 0:0a60892ea9de 17 doLeds = 0;
Reichi19 0:0a60892ea9de 18 countDown = STOP;
Reichi19 0:0a60892ea9de 19 }
Reichi19 0:0a60892ea9de 20 void slow() {
Reichi19 0:0a60892ea9de 21 delay = 0.5;
Reichi19 0:0a60892ea9de 22 }
Reichi19 0:0a60892ea9de 23 void fast() {
Reichi19 0:0a60892ea9de 24 delay = 0.25;
Reichi19 0:0a60892ea9de 25 }
Reichi19 0:0a60892ea9de 26 void cUp() {
Reichi19 0:0a60892ea9de 27 countDown = UP;
Reichi19 0:0a60892ea9de 28 }
Reichi19 0:0a60892ea9de 29 void cDown() {
Reichi19 0:0a60892ea9de 30 countDown = DOWN;
Reichi19 0:0a60892ea9de 31 }
Reichi19 0:0a60892ea9de 32
Reichi19 0:0a60892ea9de 33 int main()
Reichi19 0:0a60892ea9de 34 {
Reichi19 0:0a60892ea9de 35 doLeds = 0;
Reichi19 0:0a60892ea9de 36 iiCenter.rise(&swOff);
Reichi19 0:0a60892ea9de 37 iiLeft.rise(&slow);
Reichi19 0:0a60892ea9de 38 iiRight.fall(&fast);
Reichi19 0:0a60892ea9de 39 iiDown.rise(&cDown);
Reichi19 0:0a60892ea9de 40 iiUp.rise(&cUp);
Reichi19 0:0a60892ea9de 41
Reichi19 0:0a60892ea9de 42 while(1) {
Reichi19 0:0a60892ea9de 43 if (countDown == DOWN)
Reichi19 0:0a60892ea9de 44 doLeds = doLeds -1;
Reichi19 0:0a60892ea9de 45 else if (countDown == UP)
Reichi19 0:0a60892ea9de 46 doLeds = doLeds +1;
Reichi19 0:0a60892ea9de 47
Reichi19 0:0a60892ea9de 48 wait(delay);
Reichi19 0:0a60892ea9de 49 }
Reichi19 0:0a60892ea9de 50 }