stephen reidy
/
Lab1_bounce
printing joystick when active
main.cpp@3:08df357719f2, 2021-05-04 (annotated)
- Committer:
- stephensv650
- Date:
- Tue May 04 12:25:06 2021 +0000
- Revision:
- 3:08df357719f2
- Parent:
- 2:79baf68e700e
Final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
stephensv650 | 2:79baf68e700e | 1 | // A) original code committed (without delays) |
stephensv650 | 2:79baf68e700e | 2 | |
stephensv650 | 2:79baf68e700e | 3 | // B) Yes, as the micro controller runs through the while loop it checks for active ststments. |
stephensv650 | 2:79baf68e700e | 4 | // this is done much faster than a person can racct to. also there may be possible bouncing on the switch. |
stephensv650 | 2:79baf68e700e | 5 | |
stephensv650 | 2:79baf68e700e | 6 | // C) 1. Debounce, 2. capasitor, 3. timer, 4, delay, 5. possible clear screen |
stephensv650 | 2:79baf68e700e | 7 | |
stephensv650 | 2:79baf68e700e | 8 | // D) See modified code below. |
stephensv650 | 2:79baf68e700e | 9 | |
stephensv650 | 0:56d38c9cd647 | 10 | #include "mbed.h" // Stephen Reidy; lab1 |
stephensv650 | 0:56d38c9cd647 | 11 | |
stephensv650 | 0:56d38c9cd647 | 12 | InterruptIn joystickDown(p12); // joystick Down |
stephensv650 | 0:56d38c9cd647 | 13 | InterruptIn joystickLeft(p13); // joystick Left |
stephensv650 | 0:56d38c9cd647 | 14 | InterruptIn joystickCenter(p14); // joystick Center |
stephensv650 | 0:56d38c9cd647 | 15 | InterruptIn joystickUp(p15); // joystick Up |
stephensv650 | 0:56d38c9cd647 | 16 | InterruptIn joystickRight(p16); // joystick Right |
stephensv650 | 0:56d38c9cd647 | 17 | DigitalOut led(LED1); // LED 1 digital out |
stephensv650 | 0:56d38c9cd647 | 18 | |
stephensv650 | 0:56d38c9cd647 | 19 | int main() |
stephensv650 | 0:56d38c9cd647 | 20 | { |
stephensv650 | 0:56d38c9cd647 | 21 | |
stephensv650 | 0:56d38c9cd647 | 22 | while(1) { |
stephensv650 | 0:56d38c9cd647 | 23 | if (joystickDown == 1) { |
stephensv650 | 0:56d38c9cd647 | 24 | printf( "joystickDown is active \r\n"); |
stephensv650 | 2:79baf68e700e | 25 | wait(1); |
stephensv650 | 0:56d38c9cd647 | 26 | } |
stephensv650 | 0:56d38c9cd647 | 27 | |
stephensv650 | 0:56d38c9cd647 | 28 | if (joystickLeft == 1) { |
stephensv650 | 0:56d38c9cd647 | 29 | printf( "joystickLeft is active \r\n"); |
stephensv650 | 2:79baf68e700e | 30 | wait(1); |
stephensv650 | 0:56d38c9cd647 | 31 | } |
stephensv650 | 0:56d38c9cd647 | 32 | |
stephensv650 | 0:56d38c9cd647 | 33 | if (joystickCenter == 1) { |
stephensv650 | 0:56d38c9cd647 | 34 | printf( "joystickCenter is active \r\n"); |
stephensv650 | 3:08df357719f2 | 35 | wait(1); |
stephensv650 | 0:56d38c9cd647 | 36 | } |
stephensv650 | 0:56d38c9cd647 | 37 | |
stephensv650 | 0:56d38c9cd647 | 38 | if (joystickUp == 1) { |
stephensv650 | 0:56d38c9cd647 | 39 | printf( "joystickUp is active \r\n"); |
stephensv650 | 1:9c6ad6449efd | 40 | wait(1); |
stephensv650 | 0:56d38c9cd647 | 41 | } |
stephensv650 | 0:56d38c9cd647 | 42 | |
stephensv650 | 0:56d38c9cd647 | 43 | if (joystickRight == 1) { |
stephensv650 | 2:79baf68e700e | 44 | printf( "joystickRight is active \r\n"); |
stephensv650 | 2:79baf68e700e | 45 | wait(1); |
stephensv650 | 0:56d38c9cd647 | 46 | } |
stephensv650 | 0:56d38c9cd647 | 47 | } |
stephensv650 | 0:56d38c9cd647 | 48 | } |