Serial Communication

Dependencies:   mbed

Fork of Nucleo_serial_menu by FRA221_2017

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?

UserRevisionLine numberNew 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 }