![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Digital Assingment
Dependencies: mbed
main.cpp@0:ee737038184c, 2015-11-03 (annotated)
- Committer:
- ParinyaT
- Date:
- Tue Nov 03 18:13:45 2015 +0000
- Revision:
- 0:ee737038184c
Assignment2;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ParinyaT | 0:ee737038184c | 1 | #include "mbed.h" |
ParinyaT | 0:ee737038184c | 2 | |
ParinyaT | 0:ee737038184c | 3 | Serial pc(D8,D3); |
ParinyaT | 0:ee737038184c | 4 | BusOut Seg1(D4,D5,D6,D7); |
ParinyaT | 0:ee737038184c | 5 | BusOut Seg2(D9,D10,D11,D12); |
ParinyaT | 0:ee737038184c | 6 | AnalogIn Voltage(A0); |
ParinyaT | 0:ee737038184c | 7 | |
ParinyaT | 0:ee737038184c | 8 | int main() |
ParinyaT | 0:ee737038184c | 9 | { |
ParinyaT | 0:ee737038184c | 10 | |
ParinyaT | 0:ee737038184c | 11 | uint8_t state_menu=0; |
ParinyaT | 0:ee737038184c | 12 | uint8_t state_show=0; |
ParinyaT | 0:ee737038184c | 13 | uint8_t state_exit =0; |
ParinyaT | 0:ee737038184c | 14 | uint8_t data; |
ParinyaT | 0:ee737038184c | 15 | int num[5]; |
ParinyaT | 0:ee737038184c | 16 | int i=0; |
ParinyaT | 0:ee737038184c | 17 | |
ParinyaT | 0:ee737038184c | 18 | pc.printf("Wellcome !\n"); |
ParinyaT | 0:ee737038184c | 19 | while(1) { |
ParinyaT | 0:ee737038184c | 20 | if(state_show == 0) { |
ParinyaT | 0:ee737038184c | 21 | pc.printf("Menu\n"); |
ParinyaT | 0:ee737038184c | 22 | pc.printf("1.Sending Numbers \n"); |
ParinyaT | 0:ee737038184c | 23 | pc.printf("2.Voltage Indicator\n"); |
ParinyaT | 0:ee737038184c | 24 | state_show =1; |
ParinyaT | 0:ee737038184c | 25 | } |
ParinyaT | 0:ee737038184c | 26 | if(pc.readable()) { |
ParinyaT | 0:ee737038184c | 27 | data = pc.getc(); |
ParinyaT | 0:ee737038184c | 28 | pc.printf("\n"); |
ParinyaT | 0:ee737038184c | 29 | state_show =0; |
ParinyaT | 0:ee737038184c | 30 | state_exit =0; |
ParinyaT | 0:ee737038184c | 31 | |
ParinyaT | 0:ee737038184c | 32 | switch(data) { |
ParinyaT | 0:ee737038184c | 33 | case '1': |
ParinyaT | 0:ee737038184c | 34 | do { |
ParinyaT | 0:ee737038184c | 35 | if(state_menu == 0) { |
ParinyaT | 0:ee737038184c | 36 | pc.printf("Sending Numbers\n"); |
ParinyaT | 0:ee737038184c | 37 | pc.printf("Please send the number 00-99 \n Or press x to exit\n\n"); |
ParinyaT | 0:ee737038184c | 38 | state_menu = 1; |
ParinyaT | 0:ee737038184c | 39 | } |
ParinyaT | 0:ee737038184c | 40 | do { |
ParinyaT | 0:ee737038184c | 41 | num[i] = pc.getc(); |
ParinyaT | 0:ee737038184c | 42 | if(num[i]=='x'){ |
ParinyaT | 0:ee737038184c | 43 | state_exit = 1; |
ParinyaT | 0:ee737038184c | 44 | } |
ParinyaT | 0:ee737038184c | 45 | wait_ms(50); |
ParinyaT | 0:ee737038184c | 46 | i++; |
ParinyaT | 0:ee737038184c | 47 | } while(pc.readable()); |
ParinyaT | 0:ee737038184c | 48 | if(i>=2) { |
ParinyaT | 0:ee737038184c | 49 | Seg1 = num[i-2]-48; |
ParinyaT | 0:ee737038184c | 50 | Seg2 = num[i-1]-48; |
ParinyaT | 0:ee737038184c | 51 | state_menu = 0; |
ParinyaT | 0:ee737038184c | 52 | i=0; |
ParinyaT | 0:ee737038184c | 53 | } |
ParinyaT | 0:ee737038184c | 54 | |
ParinyaT | 0:ee737038184c | 55 | } while(state_exit ==0); |
ParinyaT | 0:ee737038184c | 56 | Seg1 = 0; |
ParinyaT | 0:ee737038184c | 57 | Seg2 = 0; |
ParinyaT | 0:ee737038184c | 58 | pc.printf("\n\n"); |
ParinyaT | 0:ee737038184c | 59 | break; |
ParinyaT | 0:ee737038184c | 60 | |
ParinyaT | 0:ee737038184c | 61 | case '2': |
ParinyaT | 0:ee737038184c | 62 | |
ParinyaT | 0:ee737038184c | 63 | do { |
ParinyaT | 0:ee737038184c | 64 | if(state_menu == 0) { |
ParinyaT | 0:ee737038184c | 65 | pc.printf("Logic Input Test\n\n"); |
ParinyaT | 0:ee737038184c | 66 | |
ParinyaT | 0:ee737038184c | 67 | float Volt; |
ParinyaT | 0:ee737038184c | 68 | Volt = Voltage.read(); |
ParinyaT | 0:ee737038184c | 69 | pc.printf("Voltage is %f volts\n",Volt*3.3); |
ParinyaT | 0:ee737038184c | 70 | |
ParinyaT | 0:ee737038184c | 71 | pc.printf("press x to exit or else to remesure\n\n"); |
ParinyaT | 0:ee737038184c | 72 | state_menu = 1; |
ParinyaT | 0:ee737038184c | 73 | } |
ParinyaT | 0:ee737038184c | 74 | if(pc.readable()) { |
ParinyaT | 0:ee737038184c | 75 | data = pc.getc(); |
ParinyaT | 0:ee737038184c | 76 | if (data == 'x') state_exit = 1; |
ParinyaT | 0:ee737038184c | 77 | else state_menu = 0; |
ParinyaT | 0:ee737038184c | 78 | } |
ParinyaT | 0:ee737038184c | 79 | |
ParinyaT | 0:ee737038184c | 80 | |
ParinyaT | 0:ee737038184c | 81 | |
ParinyaT | 0:ee737038184c | 82 | } while(state_exit ==0); |
ParinyaT | 0:ee737038184c | 83 | pc.printf("\n\n"); |
ParinyaT | 0:ee737038184c | 84 | break; |
ParinyaT | 0:ee737038184c | 85 | |
ParinyaT | 0:ee737038184c | 86 | |
ParinyaT | 0:ee737038184c | 87 | case 0x00: |
ParinyaT | 0:ee737038184c | 88 | |
ParinyaT | 0:ee737038184c | 89 | break; |
ParinyaT | 0:ee737038184c | 90 | |
ParinyaT | 0:ee737038184c | 91 | default: |
ParinyaT | 0:ee737038184c | 92 | pc.printf("plz select 1 or 2 only\n"); |
ParinyaT | 0:ee737038184c | 93 | pc.printf("\n\n"); |
ParinyaT | 0:ee737038184c | 94 | break; |
ParinyaT | 0:ee737038184c | 95 | } |
ParinyaT | 0:ee737038184c | 96 | } |
ParinyaT | 0:ee737038184c | 97 | |
ParinyaT | 0:ee737038184c | 98 | |
ParinyaT | 0:ee737038184c | 99 | |
ParinyaT | 0:ee737038184c | 100 | |
ParinyaT | 0:ee737038184c | 101 | |
ParinyaT | 0:ee737038184c | 102 | |
ParinyaT | 0:ee737038184c | 103 | } |
ParinyaT | 0:ee737038184c | 104 | } |