Serial menu with PC and BT

Dependencies:   mbed

Fork of Nucleo_serial_menu by FRA221_2017

Committer:
Pitiwut
Date:
Wed Oct 12 07:32:52 2016 +0000
Revision:
3:8134f6d1ca47
Parent:
2:87127bdc7e93
Child:
4:fde2463b2846
updated

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;
Pitiwut 3:8134f6d1ca47 21 pc.printf("Hello World !\n\n");
soulx 0:f4e546303b4e 22 while(1) {
soulx 0:f4e546303b4e 23 if(state_show == 0) {
Pitiwut 3:8134f6d1ca47 24 pc.printf("************\n");
Pitiwut 3:8134f6d1ca47 25 pc.printf(" Menu \n");
Pitiwut 3:8134f6d1ca47 26 pc.printf("************\n");
soulx 0:f4e546303b4e 27 pc.printf("1.LED Test\n");
soulx 0:f4e546303b4e 28 pc.printf("2.Print Test\n");
soulx 0:f4e546303b4e 29 state_show =1;
soulx 0:f4e546303b4e 30 }
soulx 0:f4e546303b4e 31 if(pc.readable()) {
soulx 0:f4e546303b4e 32 data = pc.getc();
soulx 0:f4e546303b4e 33 pc.printf("\n");
soulx 0:f4e546303b4e 34 state_show =0;
soulx 0:f4e546303b4e 35 state_exit =0;
soulx 0:f4e546303b4e 36
soulx 0:f4e546303b4e 37 switch(data) {
soulx 0:f4e546303b4e 38 case '1':
soulx 0:f4e546303b4e 39 do {
soulx 0:f4e546303b4e 40 if(state_menu == 0) {
soulx 0:f4e546303b4e 41 pc.printf("LED Test\n");
soulx 2:87127bdc7e93 42 pc.printf("a.LED ON\n");
soulx 2:87127bdc7e93 43 pc.printf("s.LED OFF\n");
soulx 2:87127bdc7e93 44 pc.printf("x.Exit\n");
soulx 0:f4e546303b4e 45 state_menu = 1;
soulx 0:f4e546303b4e 46 }
soulx 0:f4e546303b4e 47 if(pc.readable()) {
soulx 0:f4e546303b4e 48 data = pc.getc();
soulx 0:f4e546303b4e 49 pc.printf("\n");
soulx 0:f4e546303b4e 50 state_menu=0;
soulx 0:f4e546303b4e 51
soulx 0:f4e546303b4e 52 switch(data) {
soulx 0:f4e546303b4e 53
soulx 0:f4e546303b4e 54 case 'a':
soulx 2:87127bdc7e93 55 myled = 1;
soulx 0:f4e546303b4e 56 break;
soulx 0:f4e546303b4e 57
soulx 0:f4e546303b4e 58 case 's':
soulx 2:87127bdc7e93 59 myled =0;
soulx 2:87127bdc7e93 60
soulx 2:87127bdc7e93 61 break;
soulx 2:87127bdc7e93 62
soulx 2:87127bdc7e93 63 case 'x':
soulx 0:f4e546303b4e 64 state_exit =1;
soulx 0:f4e546303b4e 65
soulx 0:f4e546303b4e 66 break;
soulx 0:f4e546303b4e 67
soulx 0:f4e546303b4e 68 default:
soulx 2:87127bdc7e93 69 pc.printf("plz select a or s\n");
soulx 2:87127bdc7e93 70 pc.printf("\n\n");
soulx 0:f4e546303b4e 71 break;
soulx 0:f4e546303b4e 72
soulx 0:f4e546303b4e 73 }
soulx 0:f4e546303b4e 74 }
soulx 0:f4e546303b4e 75
soulx 0:f4e546303b4e 76
soulx 0:f4e546303b4e 77
soulx 0:f4e546303b4e 78 } while(state_exit ==0);
Pitiwut 3:8134f6d1ca47 79 pc.printf("\n");
soulx 0:f4e546303b4e 80 break;
soulx 0:f4e546303b4e 81
soulx 0:f4e546303b4e 82 case '2':
soulx 0:f4e546303b4e 83
soulx 0:f4e546303b4e 84 do {
soulx 0:f4e546303b4e 85 if(state_menu == 0) {
Pitiwut 3:8134f6d1ca47 86 pc.printf("Print Test\n");
Pitiwut 3:8134f6d1ca47 87 pc.printf("a.Print -Hello-\n");
Pitiwut 3:8134f6d1ca47 88 pc.printf("s.Print -Bye Bye-\n");
soulx 0:f4e546303b4e 89 pc.printf("x.Exit\n");
soulx 0:f4e546303b4e 90 state_menu = 1;
soulx 0:f4e546303b4e 91 }
soulx 2:87127bdc7e93 92 if(pc.readable()) {
soulx 0:f4e546303b4e 93 data = pc.getc();
soulx 0:f4e546303b4e 94 pc.printf("\n");
soulx 0:f4e546303b4e 95 state_menu=0;
soulx 2:87127bdc7e93 96
soulx 2:87127bdc7e93 97 switch(data) {
soulx 2:87127bdc7e93 98
soulx 2:87127bdc7e93 99 case 'a':
Pitiwut 3:8134f6d1ca47 100 pc.printf("--> Hello <-- \n\n");
soulx 2:87127bdc7e93 101
soulx 2:87127bdc7e93 102 break;
soulx 2:87127bdc7e93 103
soulx 2:87127bdc7e93 104 case 's':
Pitiwut 3:8134f6d1ca47 105 pc.printf("--> Bye Bye <-- \n\n");
soulx 2:87127bdc7e93 106
soulx 2:87127bdc7e93 107 break;
soulx 2:87127bdc7e93 108
soulx 2:87127bdc7e93 109 case 'x':
soulx 2:87127bdc7e93 110 state_exit =1;
soulx 2:87127bdc7e93 111
soulx 2:87127bdc7e93 112
soulx 2:87127bdc7e93 113 break;
soulx 0:f4e546303b4e 114
soulx 0:f4e546303b4e 115 default:
soulx 0:f4e546303b4e 116 pc.printf("plz select a or s\n");
Pitiwut 3:8134f6d1ca47 117 pc.printf("\n");
soulx 0:f4e546303b4e 118 break;
soulx 0:f4e546303b4e 119
soulx 2:87127bdc7e93 120 }
soulx 0:f4e546303b4e 121 }
soulx 2:87127bdc7e93 122 } while(state_exit ==0);
Pitiwut 3:8134f6d1ca47 123 pc.printf("\n");
soulx 0:f4e546303b4e 124 break;
soulx 0:f4e546303b4e 125
soulx 0:f4e546303b4e 126
soulx 0:f4e546303b4e 127 case 0x00:
soulx 0:f4e546303b4e 128
soulx 0:f4e546303b4e 129 break;
soulx 0:f4e546303b4e 130
soulx 2:87127bdc7e93 131 default:
soulx 2:87127bdc7e93 132 pc.printf("plz select 1 or 2 only\n");
Pitiwut 3:8134f6d1ca47 133 pc.printf("\n");
soulx 2:87127bdc7e93 134 break;
soulx 0:f4e546303b4e 135 }
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 }