-
Dependencies: mbed
Fork of Nucleo_serial_menu by
main.cpp@0:f4e546303b4e, 2015-10-18 (annotated)
- Committer:
- soulx
- Date:
- Sun Oct 18 10:09:46 2015 +0000
- Revision:
- 0:f4e546303b4e
- Child:
- 1:049a440be2b3
Menu
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
soulx | 0:f4e546303b4e | 1 | #include "mbed.h" |
soulx | 0:f4e546303b4e | 2 | |
soulx | 0:f4e546303b4e | 3 | //------------------------------------ |
soulx | 0:f4e546303b4e | 4 | // Hyperterminal configuration |
soulx | 0:f4e546303b4e | 5 | // 9600 bauds, 8-bit data, no parity |
soulx | 0:f4e546303b4e | 6 | //------------------------------------ |
soulx | 0:f4e546303b4e | 7 | |
soulx | 0:f4e546303b4e | 8 | Serial pc(SERIAL_TX, SERIAL_RX); |
soulx | 0:f4e546303b4e | 9 | |
soulx | 0:f4e546303b4e | 10 | DigitalOut myled(LED1); |
soulx | 0:f4e546303b4e | 11 | |
soulx | 0:f4e546303b4e | 12 | int main() |
soulx | 0:f4e546303b4e | 13 | { |
soulx | 0:f4e546303b4e | 14 | |
soulx | 0:f4e546303b4e | 15 | uint8_t state_menu=0; |
soulx | 0:f4e546303b4e | 16 | uint8_t state_show=0; |
soulx | 0:f4e546303b4e | 17 | uint8_t state_exit =0; |
soulx | 0:f4e546303b4e | 18 | uint8_t data; |
soulx | 0:f4e546303b4e | 19 | |
soulx | 0:f4e546303b4e | 20 | myled = 0; |
soulx | 0:f4e546303b4e | 21 | pc.printf("Hello World !\n"); |
soulx | 0:f4e546303b4e | 22 | while(1) { |
soulx | 0:f4e546303b4e | 23 | if(state_show == 0) { |
soulx | 0:f4e546303b4e | 24 | pc.printf("Menu\n"); |
soulx | 0:f4e546303b4e | 25 | pc.printf("1.LED Test\n"); |
soulx | 0:f4e546303b4e | 26 | pc.printf("2.Print Test\n"); |
soulx | 0:f4e546303b4e | 27 | state_show =1; |
soulx | 0:f4e546303b4e | 28 | } |
soulx | 0:f4e546303b4e | 29 | if(pc.readable()) { |
soulx | 0:f4e546303b4e | 30 | data = pc.getc(); |
soulx | 0:f4e546303b4e | 31 | pc.printf("\n"); |
soulx | 0:f4e546303b4e | 32 | state_show =0; |
soulx | 0:f4e546303b4e | 33 | state_exit =0; |
soulx | 0:f4e546303b4e | 34 | |
soulx | 0:f4e546303b4e | 35 | switch(data) { |
soulx | 0:f4e546303b4e | 36 | case '1': |
soulx | 0:f4e546303b4e | 37 | do { |
soulx | 0:f4e546303b4e | 38 | if(state_menu == 0) { |
soulx | 0:f4e546303b4e | 39 | pc.printf("LED Test\n"); |
soulx | 0:f4e546303b4e | 40 | pc.printf("a.LED ON\n"); |
soulx | 0:f4e546303b4e | 41 | pc.printf("s.LED OFF\n"); |
soulx | 0:f4e546303b4e | 42 | pc.printf("x.Exit\n"); |
soulx | 0:f4e546303b4e | 43 | state_menu = 1; |
soulx | 0:f4e546303b4e | 44 | } |
soulx | 0:f4e546303b4e | 45 | if(pc.readable()) { |
soulx | 0:f4e546303b4e | 46 | data = pc.getc(); |
soulx | 0:f4e546303b4e | 47 | pc.printf("\n"); |
soulx | 0:f4e546303b4e | 48 | state_menu=0; |
soulx | 0:f4e546303b4e | 49 | |
soulx | 0:f4e546303b4e | 50 | switch(data) { |
soulx | 0:f4e546303b4e | 51 | |
soulx | 0:f4e546303b4e | 52 | case 'a': |
soulx | 0:f4e546303b4e | 53 | myled = 1; |
soulx | 0:f4e546303b4e | 54 | break; |
soulx | 0:f4e546303b4e | 55 | |
soulx | 0:f4e546303b4e | 56 | case 's': |
soulx | 0:f4e546303b4e | 57 | myled =0; |
soulx | 0:f4e546303b4e | 58 | |
soulx | 0:f4e546303b4e | 59 | break; |
soulx | 0:f4e546303b4e | 60 | |
soulx | 0:f4e546303b4e | 61 | case 'x': |
soulx | 0:f4e546303b4e | 62 | state_exit =1; |
soulx | 0:f4e546303b4e | 63 | |
soulx | 0:f4e546303b4e | 64 | break; |
soulx | 0:f4e546303b4e | 65 | |
soulx | 0:f4e546303b4e | 66 | default: |
soulx | 0:f4e546303b4e | 67 | pc.printf("plz select a or s\n"); |
soulx | 0:f4e546303b4e | 68 | pc.printf("\n\n"); |
soulx | 0:f4e546303b4e | 69 | break; |
soulx | 0:f4e546303b4e | 70 | |
soulx | 0:f4e546303b4e | 71 | } |
soulx | 0:f4e546303b4e | 72 | } |
soulx | 0:f4e546303b4e | 73 | |
soulx | 0:f4e546303b4e | 74 | |
soulx | 0:f4e546303b4e | 75 | |
soulx | 0:f4e546303b4e | 76 | } while(state_exit ==0); |
soulx | 0:f4e546303b4e | 77 | pc.printf("\n\n"); |
soulx | 0:f4e546303b4e | 78 | break; |
soulx | 0:f4e546303b4e | 79 | |
soulx | 0:f4e546303b4e | 80 | case '2': |
soulx | 0:f4e546303b4e | 81 | |
soulx | 0:f4e546303b4e | 82 | do { |
soulx | 0:f4e546303b4e | 83 | if(state_menu == 0) { |
soulx | 0:f4e546303b4e | 84 | pc.printf("LED Test\n"); |
soulx | 0:f4e546303b4e | 85 | pc.printf("a.Menu 2 TEST\n"); |
soulx | 0:f4e546303b4e | 86 | pc.printf("s.Run\n"); |
soulx | 0:f4e546303b4e | 87 | pc.printf("x.Exit\n"); |
soulx | 0:f4e546303b4e | 88 | state_menu = 1; |
soulx | 0:f4e546303b4e | 89 | } |
soulx | 0:f4e546303b4e | 90 | if(pc.readable()) { |
soulx | 0:f4e546303b4e | 91 | data = pc.getc(); |
soulx | 0:f4e546303b4e | 92 | pc.printf("\n"); |
soulx | 0:f4e546303b4e | 93 | state_menu=0; |
soulx | 0:f4e546303b4e | 94 | |
soulx | 0:f4e546303b4e | 95 | switch(data) { |
soulx | 0:f4e546303b4e | 96 | |
soulx | 0:f4e546303b4e | 97 | case 'a': |
soulx | 0:f4e546303b4e | 98 | pc.printf("Menu 2 TEST\n"); |
soulx | 0:f4e546303b4e | 99 | |
soulx | 0:f4e546303b4e | 100 | break; |
soulx | 0:f4e546303b4e | 101 | |
soulx | 0:f4e546303b4e | 102 | case 's': |
soulx | 0:f4e546303b4e | 103 | pc.printf("Run\n"); |
soulx | 0:f4e546303b4e | 104 | |
soulx | 0:f4e546303b4e | 105 | break; |
soulx | 0:f4e546303b4e | 106 | |
soulx | 0:f4e546303b4e | 107 | case 'x': |
soulx | 0:f4e546303b4e | 108 | state_exit =1; |
soulx | 0:f4e546303b4e | 109 | |
soulx | 0:f4e546303b4e | 110 | |
soulx | 0:f4e546303b4e | 111 | break; |
soulx | 0:f4e546303b4e | 112 | |
soulx | 0:f4e546303b4e | 113 | default: |
soulx | 0:f4e546303b4e | 114 | pc.printf("plz select a or s\n"); |
soulx | 0:f4e546303b4e | 115 | pc.printf("\n\n"); |
soulx | 0:f4e546303b4e | 116 | break; |
soulx | 0:f4e546303b4e | 117 | |
soulx | 0:f4e546303b4e | 118 | } |
soulx | 0:f4e546303b4e | 119 | } |
soulx | 0:f4e546303b4e | 120 | |
soulx | 0:f4e546303b4e | 121 | |
soulx | 0:f4e546303b4e | 122 | |
soulx | 0:f4e546303b4e | 123 | } while(state_exit ==0); |
soulx | 0:f4e546303b4e | 124 | pc.printf("\n\n"); |
soulx | 0:f4e546303b4e | 125 | break; |
soulx | 0:f4e546303b4e | 126 | |
soulx | 0:f4e546303b4e | 127 | |
soulx | 0:f4e546303b4e | 128 | case 0x00: |
soulx | 0:f4e546303b4e | 129 | |
soulx | 0:f4e546303b4e | 130 | break; |
soulx | 0:f4e546303b4e | 131 | |
soulx | 0:f4e546303b4e | 132 | default: |
soulx | 0:f4e546303b4e | 133 | pc.printf("plz select 1 or 2 only\n"); |
soulx | 0:f4e546303b4e | 134 | pc.printf("\n\n"); |
soulx | 0:f4e546303b4e | 135 | break; |
soulx | 0:f4e546303b4e | 136 | } |
soulx | 0:f4e546303b4e | 137 | } |
soulx | 0:f4e546303b4e | 138 | |
soulx | 0:f4e546303b4e | 139 | |
soulx | 0:f4e546303b4e | 140 | |
soulx | 0:f4e546303b4e | 141 | |
soulx | 0:f4e546303b4e | 142 | |
soulx | 0:f4e546303b4e | 143 | |
soulx | 0:f4e546303b4e | 144 | } |
soulx | 0:f4e546303b4e | 145 | } |