FRA221_2017 / Mbed 2 deprecated Nucleo_serial_menu

Dependencies:   mbed

Fork of Nucleo_serial_menu by FRA221_2016

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 //------------------------------------
00004 // Hyperterminal configuration
00005 // 9600 bauds, 8-bit data, no parity
00006 //------------------------------------
00007 
00008 Serial pc(D8, D2);
00009 
00010 DigitalOut myled(LED1);
00011 
00012 int main()
00013 {
00014 
00015     uint8_t state_menu=0;
00016     uint8_t state_show=0;
00017     uint8_t state_exit =0;
00018     uint8_t data;
00019 
00020     myled = 0;
00021     pc.printf("Hello World !\n\n");
00022     while(1) {
00023         if(state_show == 0) {
00024             pc.printf("************\n");
00025             pc.printf("   Menu   \n");
00026             pc.printf("************\n");
00027             pc.printf("1.LED Test\n");
00028             pc.printf("2.Print Test\n");
00029             state_show =1;
00030         }
00031         if(pc.readable()) {
00032             data = pc.getc();
00033             pc.printf("\n");
00034             state_show =0;
00035             state_exit =0;
00036 
00037             switch(data) {
00038                 case '1':
00039                     do {
00040                             if(state_menu == 0) {
00041                                 pc.printf("LED Test\n");
00042                                 pc.printf("a.LED ON\n");
00043                                 pc.printf("s.LED OFF\n");
00044                                 pc.printf("x.Exit\n");
00045                                 state_menu = 1;
00046                             }
00047                             
00048                         if(pc.readable()) {
00049                             data = pc.getc();
00050                             pc.printf("\n");
00051                             state_menu=0;
00052 
00053                             switch(data) {
00054 
00055                                 case 'a':
00056                                     myled = 1;                                    
00057                                     break;
00058 
00059                                 case 's':
00060                                     myled =0;
00061                                    
00062                                     break;
00063 
00064                                 case 'x':
00065                                     state_exit =1;
00066                                    
00067                                     break;
00068 
00069                                 default:
00070                                     pc.printf("plz select a or s\n");
00071                                     pc.printf("\n\n");
00072                                     break;
00073                             }
00074                         }
00075                     } while(state_exit ==0);
00076                     
00077                     pc.printf("\n");
00078                     break;
00079 
00080                 case '2':
00081 
00082                     do {
00083                         if(state_menu == 0) {
00084                             pc.printf("Print Test\n");
00085                             pc.printf("a.Print -Hello-\n");
00086                             pc.printf("s.Print -Bye Bye-\n");
00087                             pc.printf("x.Exit\n");
00088                             state_menu = 1;
00089                         }
00090                         if(pc.readable()) {
00091                             data = pc.getc();
00092                             pc.printf("\n");
00093                             state_menu=0;
00094 
00095                             switch(data) {
00096 
00097                                 case 'a':
00098                                     pc.printf("--> Hello <-- \n\n");
00099                                     
00100                                     break;
00101 
00102                                 case 's':
00103                                     pc.printf("--> Bye Bye <-- \n\n");
00104                                     
00105                                     break;
00106 
00107                                 case 'x':
00108                                     state_exit =1;
00109                                   
00110                                     
00111                                     break;
00112 
00113                                 default:
00114                                     pc.printf("plz select a or s\n");
00115                                     pc.printf("\n");
00116                                     break;
00117 
00118                             }
00119                         }
00120                     } while(state_exit ==0);
00121                     pc.printf("\n");
00122                     break;
00123 
00124 
00125                 default:
00126                     pc.printf("plz select 1 or 2 only\n");
00127                     pc.printf("\n");
00128                     break;
00129             }
00130         }
00131     }
00132 }