Andrew Bell
/
Lab2_polling
working button incrementer
main.cpp@1:ac916e153bc4, 2021-02-18 (annotated)
- Committer:
- andrewbw01
- Date:
- Thu Feb 18 14:16:42 2021 +0000
- Revision:
- 1:ac916e153bc4
- Parent:
- 0:bfc9617c596c
working button incrementer
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andrewbw01 | 0:bfc9617c596c | 1 | #include "mbed.h" |
andrewbw01 | 0:bfc9617c596c | 2 | |
andrewbw01 | 0:bfc9617c596c | 3 | DigitalIn button_up(p14); |
andrewbw01 | 0:bfc9617c596c | 4 | DigitalIn button_down(p15); |
andrewbw01 | 0:bfc9617c596c | 5 | |
andrewbw01 | 0:bfc9617c596c | 6 | BusOut LED_Disp(p7,p11,p9,p8,p5,p6,p10,p12); |
andrewbw01 | 0:bfc9617c596c | 7 | |
andrewbw01 | 0:bfc9617c596c | 8 | void DisplayNumber(int); |
andrewbw01 | 0:bfc9617c596c | 9 | |
andrewbw01 | 0:bfc9617c596c | 10 | int main() |
andrewbw01 | 0:bfc9617c596c | 11 | { |
andrewbw01 | 0:bfc9617c596c | 12 | int counter = 0; |
andrewbw01 | 0:bfc9617c596c | 13 | |
andrewbw01 | 0:bfc9617c596c | 14 | while(1) |
andrewbw01 | 0:bfc9617c596c | 15 | { |
andrewbw01 | 1:ac916e153bc4 | 16 | if (counter>3) counter = 0; |
andrewbw01 | 0:bfc9617c596c | 17 | |
andrewbw01 | 0:bfc9617c596c | 18 | if (counter<0) counter = 0; |
andrewbw01 | 0:bfc9617c596c | 19 | |
andrewbw01 | 0:bfc9617c596c | 20 | if (button_up == 1) |
andrewbw01 | 0:bfc9617c596c | 21 | { |
andrewbw01 | 0:bfc9617c596c | 22 | counter++; |
andrewbw01 | 0:bfc9617c596c | 23 | |
andrewbw01 | 0:bfc9617c596c | 24 | wait(0.2); |
andrewbw01 | 0:bfc9617c596c | 25 | |
andrewbw01 | 0:bfc9617c596c | 26 | while(button_up==1) |
andrewbw01 | 0:bfc9617c596c | 27 | {} |
andrewbw01 | 0:bfc9617c596c | 28 | } |
andrewbw01 | 0:bfc9617c596c | 29 | |
andrewbw01 | 0:bfc9617c596c | 30 | if (button_down == 1) |
andrewbw01 | 0:bfc9617c596c | 31 | { |
andrewbw01 | 0:bfc9617c596c | 32 | counter--; |
andrewbw01 | 0:bfc9617c596c | 33 | |
andrewbw01 | 0:bfc9617c596c | 34 | wait(0.2); |
andrewbw01 | 0:bfc9617c596c | 35 | |
andrewbw01 | 0:bfc9617c596c | 36 | while(button_down==1) |
andrewbw01 | 0:bfc9617c596c | 37 | {} |
andrewbw01 | 0:bfc9617c596c | 38 | } |
andrewbw01 | 0:bfc9617c596c | 39 | } |
andrewbw01 | 0:bfc9617c596c | 40 | } |
andrewbw01 | 0:bfc9617c596c | 41 | |
andrewbw01 | 0:bfc9617c596c | 42 | void DisplayNumber(int num) |
andrewbw01 | 0:bfc9617c596c | 43 | { |
andrewbw01 | 0:bfc9617c596c | 44 | switch(num) |
andrewbw01 | 0:bfc9617c596c | 45 | { |
andrewbw01 | 0:bfc9617c596c | 46 | case 0: |
andrewbw01 | 0:bfc9617c596c | 47 | LED_Disp = ~0x3F; |
andrewbw01 | 0:bfc9617c596c | 48 | break; |
andrewbw01 | 0:bfc9617c596c | 49 | case 1: |
andrewbw01 | 0:bfc9617c596c | 50 | LED_Disp = ~0x06; |
andrewbw01 | 0:bfc9617c596c | 51 | break; |
andrewbw01 | 0:bfc9617c596c | 52 | case 2: |
andrewbw01 | 0:bfc9617c596c | 53 | LED_Disp = ~0x5B; |
andrewbw01 | 0:bfc9617c596c | 54 | break; |
andrewbw01 | 0:bfc9617c596c | 55 | case 3: |
andrewbw01 | 0:bfc9617c596c | 56 | LED_Disp = ~0x4F; |
andrewbw01 | 0:bfc9617c596c | 57 | break; |
andrewbw01 | 0:bfc9617c596c | 58 | case 4: |
andrewbw01 | 0:bfc9617c596c | 59 | LED_Disp = ~0x66; |
andrewbw01 | 0:bfc9617c596c | 60 | break; |
andrewbw01 | 0:bfc9617c596c | 61 | case 5: |
andrewbw01 | 0:bfc9617c596c | 62 | LED_Disp = ~0x6D; |
andrewbw01 | 0:bfc9617c596c | 63 | break; |
andrewbw01 | 0:bfc9617c596c | 64 | case 6: |
andrewbw01 | 0:bfc9617c596c | 65 | LED_Disp = ~0x7D; |
andrewbw01 | 0:bfc9617c596c | 66 | break; |
andrewbw01 | 0:bfc9617c596c | 67 | case 7: |
andrewbw01 | 0:bfc9617c596c | 68 | LED_Disp = ~0x07; |
andrewbw01 | 0:bfc9617c596c | 69 | break; |
andrewbw01 | 0:bfc9617c596c | 70 | case 8: |
andrewbw01 | 0:bfc9617c596c | 71 | LED_Disp = ~0x7F; |
andrewbw01 | 0:bfc9617c596c | 72 | break; |
andrewbw01 | 0:bfc9617c596c | 73 | case 9: |
andrewbw01 | 0:bfc9617c596c | 74 | LED_Disp = ~0x67; |
andrewbw01 | 0:bfc9617c596c | 75 | break; |
andrewbw01 | 0:bfc9617c596c | 76 | } |
andrewbw01 | 0:bfc9617c596c | 77 | } |
andrewbw01 | 0:bfc9617c596c | 78 | |
andrewbw01 | 0:bfc9617c596c | 79 |