copy 1

Dependencies:   mbed

Committer:
motley
Date:
Tue Oct 24 14:52:59 2017 +0000
Revision:
0:7eee9280f29f
copy 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
motley 0:7eee9280f29f 1 #include "mbed.h"
motley 0:7eee9280f29f 2 #define N 1000000
motley 0:7eee9280f29f 3 #define RELEASED 0
motley 0:7eee9280f29f 4 #define PRESSED 1
motley 0:7eee9280f29f 5
motley 0:7eee9280f29f 6 //Hardware objects
motley 0:7eee9280f29f 7 DigitalOut red_led(PE_15); //CountUp is in its critical section
motley 0:7eee9280f29f 8 DigitalOut yellow_led(PB_10); //CountDown is in its critical section
motley 0:7eee9280f29f 9 DigitalOut green_led(PB_11); //counter != 0
motley 0:7eee9280f29f 10 DigitalOut onboardLED(LED1);
motley 0:7eee9280f29f 11
motley 0:7eee9280f29f 12 DigitalIn button(USER_BUTTON);
motley 0:7eee9280f29f 13 DigitalIn sw1(PE_12);
motley 0:7eee9280f29f 14 DigitalIn sw2(PE_14);
motley 0:7eee9280f29f 15
motley 0:7eee9280f29f 16 //The code below is hugely flawed and is only to
motley 0:7eee9280f29f 17 //illustrate the problem of blocking hardware
motley 0:7eee9280f29f 18 int main() {
motley 0:7eee9280f29f 19
motley 0:7eee9280f29f 20 //Light up
motley 0:7eee9280f29f 21 red_led = 1;
motley 0:7eee9280f29f 22 yellow_led = 1;
motley 0:7eee9280f29f 23 green_led = 1;
motley 0:7eee9280f29f 24 onboardLED = 1;
motley 0:7eee9280f29f 25
motley 0:7eee9280f29f 26 //Now loop forever
motley 0:7eee9280f29f 27 while(1) {
motley 0:7eee9280f29f 28
motley 0:7eee9280f29f 29 while (sw1 == RELEASED) {};
motley 0:7eee9280f29f 30 wait(0.2);
motley 0:7eee9280f29f 31 while (sw1 == PRESSED) {};
motley 0:7eee9280f29f 32 red_led = !red_led;
motley 0:7eee9280f29f 33 wait(0.2);
motley 0:7eee9280f29f 34
motley 0:7eee9280f29f 35 while (sw2 == RELEASED) {};
motley 0:7eee9280f29f 36 wait(0.2);
motley 0:7eee9280f29f 37 while (sw2 == PRESSED) {};
motley 0:7eee9280f29f 38 green_led = !green_led;
motley 0:7eee9280f29f 39 wait(0.2);
motley 0:7eee9280f29f 40
motley 0:7eee9280f29f 41 //Flash the yellow
motley 0:7eee9280f29f 42 yellow_led = !yellow_led;
motley 0:7eee9280f29f 43 wait(0.5);
motley 0:7eee9280f29f 44 };
motley 0:7eee9280f29f 45 }