copy 1
Dependencies: mbed
main.cpp@0:7eee9280f29f, 2017-10-24 (annotated)
- Committer:
- motley
- Date:
- Tue Oct 24 14:52:59 2017 +0000
- Revision:
- 0:7eee9280f29f
copy 1
Who changed what in which revision?
User | Revision | Line number | New 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 | } |