l
Dependencies: mbed
Fork of Nucleo_serial_sf by
Diff: main.cpp
- Revision:
- 0:09e78c46c376
- Child:
- 1:a3a6e8f878da
diff -r 000000000000 -r 09e78c46c376 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Oct 20 06:30:21 2015 +0000 @@ -0,0 +1,170 @@ +#include "mbed.h" + +//------------------------------------ +// Hyperterminal configuration +// 9600 bauds, 8-bit data, no parity +//------------------------------------ + +Serial pc(PA_9, PA_10); + +DigitalOut myled0(D15); +DigitalOut myled1(D14); +DigitalOut myled2(D13); +DigitalOut myled3(D12); +DigitalOut myled4(D11); +DigitalOut myled5(D10); +DigitalOut myled6(D9); +DigitalOut myled7(D8); + +DigitalIn inbutton(D3); + + +int main() +{ + + uint8_t state_menu=0; + uint8_t state_show=0; + uint8_t state_exit =0; + uint8_t data; + + myled0 = 0;myled1 = 0;myled2 = 0;myled3 = 0;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 0; + pc.printf("Select Mode\n"); + while(1) { + if(state_show == 0) { + pc.printf("Menu\n"); + pc.printf("1.Choose LED pattern\n"); + pc.printf("2.Print status\n"); + state_show =1; + } + if(pc.readable()) { + data = pc.getc(); + pc.printf("\n"); + state_show =0; + state_exit =0; + + switch(data) { + case '1': + do { + if(state_menu == 0) { + pc.printf("Choose LED pattern\n"); + pc.printf("a.Pattern1\n"); + pc.printf("d.Pattern2\n"); + pc.printf("s.Exit\n"); + state_menu = 1; + } + if(pc.readable()) { + data = pc.getc(); + pc.printf("\n"); + state_menu=0; + + switch(data) { + + case 'a': + case 'A': + myled0=1; + wait(1); + myled0=0; + + myled1=1; + wait(1); + myled1=0; + + myled2=1; + wait(1); + myled2=0; + + myled3=1; + wait(1); + myled3=0; + + myled4=1; + wait(1); + myled4=0; + + myled5=1; + wait(1); + myled5=0; + + myled6=1; + wait(1); + myled6=0; + + myled7=1; + wait(1); + myled7=0; + + break; + + case 'd': + case 'D': + myled0 =1; + myled1 =1; + myled4 =1; + myled5 =1; + wait(1); + myled0 =0; + myled1 =0; + myled4 =0; + myled5 =0; + + myled2 =1; + myled3 =1; + myled6 =1; + myled7 =1; + wait(1); + myled2 =0; + myled3 =0; + myled6 =0; + myled7 =0; + + break; + + case 's': + state_exit =1; + + break; + + default: + pc.printf("plz select a or d\n"); + pc.printf("\n\n"); + break; + + } + } + + } while(state_exit ==0); + pc.printf("\n"); + break; + + case '2': + + do { + if(state_menu == 0) + { + pc.printf("LED status\n"); + state_menu = 1; + } + if(inbutton == 0) + { + pc.printf("OFF\n"); + state_menu=0; + } + if(inbutton == 1) + { + pc.printf("ON\n"); + state_menu=0; + } + + } while(state_exit ==0); + pc.printf("\n\n"); + break; + + default: + pc.printf("plz select 1 or 2 only\n"); + pc.printf("\n\n"); + break; + } + } + + } +}