Andrew Bell
/
Lab2_polling
working button incrementer
main.cpp@0:bfc9617c596c, 2021-02-10 (annotated)
- Committer:
- andrewbw01
- Date:
- Wed Feb 10 15:31:26 2021 +0000
- Revision:
- 0:bfc9617c596c
- Child:
- 1:ac916e153bc4
working polling method
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 | 0:bfc9617c596c | 16 | if (counter>9) counter = 0; |
andrewbw01 | 0:bfc9617c596c | 17 | |
andrewbw01 | 0:bfc9617c596c | 18 | if (counter<0) counter = 0; |
andrewbw01 | 0:bfc9617c596c | 19 | |
andrewbw01 | 0:bfc9617c596c | 20 | DisplayNumber(counter); |
andrewbw01 | 0:bfc9617c596c | 21 | |
andrewbw01 | 0:bfc9617c596c | 22 | if (button_up == 1) |
andrewbw01 | 0:bfc9617c596c | 23 | { |
andrewbw01 | 0:bfc9617c596c | 24 | counter++; |
andrewbw01 | 0:bfc9617c596c | 25 | |
andrewbw01 | 0:bfc9617c596c | 26 | wait(0.2); |
andrewbw01 | 0:bfc9617c596c | 27 | |
andrewbw01 | 0:bfc9617c596c | 28 | while(button_up==1) |
andrewbw01 | 0:bfc9617c596c | 29 | {} |
andrewbw01 | 0:bfc9617c596c | 30 | } |
andrewbw01 | 0:bfc9617c596c | 31 | |
andrewbw01 | 0:bfc9617c596c | 32 | if (button_down == 1) |
andrewbw01 | 0:bfc9617c596c | 33 | { |
andrewbw01 | 0:bfc9617c596c | 34 | counter--; |
andrewbw01 | 0:bfc9617c596c | 35 | |
andrewbw01 | 0:bfc9617c596c | 36 | wait(0.2); |
andrewbw01 | 0:bfc9617c596c | 37 | |
andrewbw01 | 0:bfc9617c596c | 38 | while(button_down==1) |
andrewbw01 | 0:bfc9617c596c | 39 | {} |
andrewbw01 | 0:bfc9617c596c | 40 | } |
andrewbw01 | 0:bfc9617c596c | 41 | } |
andrewbw01 | 0:bfc9617c596c | 42 | } |
andrewbw01 | 0:bfc9617c596c | 43 | |
andrewbw01 | 0:bfc9617c596c | 44 | void DisplayNumber(int num) |
andrewbw01 | 0:bfc9617c596c | 45 | { |
andrewbw01 | 0:bfc9617c596c | 46 | switch(num) |
andrewbw01 | 0:bfc9617c596c | 47 | { |
andrewbw01 | 0:bfc9617c596c | 48 | case 0: |
andrewbw01 | 0:bfc9617c596c | 49 | LED_Disp = ~0x3F; |
andrewbw01 | 0:bfc9617c596c | 50 | break; |
andrewbw01 | 0:bfc9617c596c | 51 | case 1: |
andrewbw01 | 0:bfc9617c596c | 52 | LED_Disp = ~0x06; |
andrewbw01 | 0:bfc9617c596c | 53 | break; |
andrewbw01 | 0:bfc9617c596c | 54 | case 2: |
andrewbw01 | 0:bfc9617c596c | 55 | LED_Disp = ~0x5B; |
andrewbw01 | 0:bfc9617c596c | 56 | break; |
andrewbw01 | 0:bfc9617c596c | 57 | case 3: |
andrewbw01 | 0:bfc9617c596c | 58 | LED_Disp = ~0x4F; |
andrewbw01 | 0:bfc9617c596c | 59 | break; |
andrewbw01 | 0:bfc9617c596c | 60 | case 4: |
andrewbw01 | 0:bfc9617c596c | 61 | LED_Disp = ~0x66; |
andrewbw01 | 0:bfc9617c596c | 62 | break; |
andrewbw01 | 0:bfc9617c596c | 63 | case 5: |
andrewbw01 | 0:bfc9617c596c | 64 | LED_Disp = ~0x6D; |
andrewbw01 | 0:bfc9617c596c | 65 | break; |
andrewbw01 | 0:bfc9617c596c | 66 | case 6: |
andrewbw01 | 0:bfc9617c596c | 67 | LED_Disp = ~0x7D; |
andrewbw01 | 0:bfc9617c596c | 68 | break; |
andrewbw01 | 0:bfc9617c596c | 69 | case 7: |
andrewbw01 | 0:bfc9617c596c | 70 | LED_Disp = ~0x07; |
andrewbw01 | 0:bfc9617c596c | 71 | break; |
andrewbw01 | 0:bfc9617c596c | 72 | case 8: |
andrewbw01 | 0:bfc9617c596c | 73 | LED_Disp = ~0x7F; |
andrewbw01 | 0:bfc9617c596c | 74 | break; |
andrewbw01 | 0:bfc9617c596c | 75 | case 9: |
andrewbw01 | 0:bfc9617c596c | 76 | LED_Disp = ~0x67; |
andrewbw01 | 0:bfc9617c596c | 77 | break; |
andrewbw01 | 0:bfc9617c596c | 78 | } |
andrewbw01 | 0:bfc9617c596c | 79 | } |
andrewbw01 | 0:bfc9617c596c | 80 | |
andrewbw01 | 0:bfc9617c596c | 81 |