Serial Communication
Dependencies: mbed
Fork of Nucleo_serial_menu by
main.cpp@2:87127bdc7e93, 2016-10-12 (annotated)
- Committer:
- soulx
- Date:
- Wed Oct 12 07:07:02 2016 +0000
- Revision:
- 2:87127bdc7e93
- Parent:
- 1:df3b700ba2d9
- Child:
- 3:8134f6d1ca47
serial
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 | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 40 | pc.printf("a.LED ON\n"); |
soulx | 2:87127bdc7e93 | 41 | pc.printf("s.LED OFF\n"); |
soulx | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 53 | myled = 1; |
soulx | 0:f4e546303b4e | 54 | break; |
soulx | 0:f4e546303b4e | 55 | |
soulx | 0:f4e546303b4e | 56 | case 's': |
soulx | 2:87127bdc7e93 | 57 | myled =0; |
soulx | 2:87127bdc7e93 | 58 | |
soulx | 2:87127bdc7e93 | 59 | break; |
soulx | 2:87127bdc7e93 | 60 | |
soulx | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 67 | pc.printf("plz select a or s\n"); |
soulx | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 94 | |
soulx | 2:87127bdc7e93 | 95 | switch(data) { |
soulx | 2:87127bdc7e93 | 96 | |
soulx | 2:87127bdc7e93 | 97 | case 'a': |
soulx | 2:87127bdc7e93 | 98 | pc.printf("Menu 2 TEST\n"); |
soulx | 2:87127bdc7e93 | 99 | |
soulx | 2:87127bdc7e93 | 100 | break; |
soulx | 2:87127bdc7e93 | 101 | |
soulx | 2:87127bdc7e93 | 102 | case 's': |
soulx | 2:87127bdc7e93 | 103 | pc.printf("Run\n"); |
soulx | 2:87127bdc7e93 | 104 | |
soulx | 2:87127bdc7e93 | 105 | break; |
soulx | 2:87127bdc7e93 | 106 | |
soulx | 2:87127bdc7e93 | 107 | case 'x': |
soulx | 2:87127bdc7e93 | 108 | state_exit =1; |
soulx | 2:87127bdc7e93 | 109 | |
soulx | 2:87127bdc7e93 | 110 | |
soulx | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 118 | } |
soulx | 0:f4e546303b4e | 119 | } |
soulx | 0:f4e546303b4e | 120 | |
soulx | 0:f4e546303b4e | 121 | |
soulx | 0:f4e546303b4e | 122 | |
soulx | 2:87127bdc7e93 | 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 | 2:87127bdc7e93 | 132 | default: |
soulx | 2:87127bdc7e93 | 133 | pc.printf("plz select 1 or 2 only\n"); |
soulx | 2:87127bdc7e93 | 134 | pc.printf("\n\n"); |
soulx | 2:87127bdc7e93 | 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 | } |