
Lights the LEDs after the switch has been changed 10 times
main.cpp@0:c2308f423597, 2018-09-20 (annotated)
- Committer:
- ccschneider
- Date:
- Thu Sep 20 14:45:57 2018 +0000
- Revision:
- 0:c2308f423597
Lights the LEDs after the switch has been changed 10 times
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ccschneider | 0:c2308f423597 | 1 | // Cecilia Schneider, OCE 360, September 20,2018 |
ccschneider | 0:c2308f423597 | 2 | // HW #1, exercise 5, Digital I/O |
ccschneider | 0:c2308f423597 | 3 | // Lights up the blue and yellow LEDs after the switch has been changed 10 times |
ccschneider | 0:c2308f423597 | 4 | #include "mbed.h" |
ccschneider | 0:c2308f423597 | 5 | Serial pc(USBTX, USBRX); //lets mbed communicate with pc via usb |
ccschneider | 0:c2308f423597 | 6 | DigitalOut yled(p5); |
ccschneider | 0:c2308f423597 | 7 | DigitalOut bled(p6); |
ccschneider | 0:c2308f423597 | 8 | DigitalIn switch_input(p7); |
ccschneider | 0:c2308f423597 | 9 | int main() { |
ccschneider | 0:c2308f423597 | 10 | |
ccschneider | 0:c2308f423597 | 11 | int count = 0; |
ccschneider | 0:c2308f423597 | 12 | yled = 0; |
ccschneider | 0:c2308f423597 | 13 | bled = 0; |
ccschneider | 0:c2308f423597 | 14 | |
ccschneider | 0:c2308f423597 | 15 | while(count < 10) { |
ccschneider | 0:c2308f423597 | 16 | if(switch_input == 1){ |
ccschneider | 0:c2308f423597 | 17 | int check_value = switch_input; |
ccschneider | 0:c2308f423597 | 18 | |
ccschneider | 0:c2308f423597 | 19 | wait(0.0025); //gets rid of the switch bounce |
ccschneider | 0:c2308f423597 | 20 | |
ccschneider | 0:c2308f423597 | 21 | while(check_value){ |
ccschneider | 0:c2308f423597 | 22 | if(check_value - switch_input == 1){ |
ccschneider | 0:c2308f423597 | 23 | count++; |
ccschneider | 0:c2308f423597 | 24 | check_value = 0; |
ccschneider | 0:c2308f423597 | 25 | pc.printf("DBG [%d] count: %d \r\n", __LINE__, count); |
ccschneider | 0:c2308f423597 | 26 | } |
ccschneider | 0:c2308f423597 | 27 | } |
ccschneider | 0:c2308f423597 | 28 | } |
ccschneider | 0:c2308f423597 | 29 | } |
ccschneider | 0:c2308f423597 | 30 | yled = 1; |
ccschneider | 0:c2308f423597 | 31 | bled = 1; |
ccschneider | 0:c2308f423597 | 32 | } |