l
Dependencies: mbed
Fork of Nucleo_serial_sf by
main.cpp
- Committer:
- NamSom
- Date:
- 2015-10-26
- Revision:
- 4:eae42fe39107
- Parent:
- 3:a46061896235
File content as of revision 4:eae42fe39107:
#include "mbed.h" //------------------------------------ // Hyperterminal configuration // 9600 bauds, 8-bit data, no parity //------------------------------------ int pattern1(); int pattern2(); int checkState(); Serial pc(SERIAL_TX, SERIAL_RX); 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); char data; int checkState() { if(pc.readable()==1){ data = pc.getc(); if(data=='s'||data=='S') {return 1;} else if(data=='a'||data=='A') {return 2;} else if(data=='d'||data=='D') {return 3;} else return 0;} } int pattern1() { int check; while(1){ myled0=1; wait(1); myled0=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled1=1; wait(1); myled1=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled2=1; wait(1); myled2=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled3=1; wait(1); myled3=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled4=1; wait(1); myled4=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled5=1; wait(1); myled5=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled6=1; wait(1); myled6=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled7=1; wait(1); myled7=0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; } pattern2(); return 0; } int pattern2() { uint8_t check; while(1) { myled0 =1; myled1 =1; myled4 =1; myled5 =1; wait(1); myled0 =0; myled1 =0; myled4 =0; myled5 =0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; myled2 =1; myled3 =1; myled6 =1; myled7 =1; wait(1); myled2 =0; myled3 =0; myled6 =0; myled7 =0; check=checkState(); if(check==1) {return 1;} else if(check==3) break; } pattern1(); return 0; } int main() { uint8_t state_menu=0; uint8_t state_show=0; uint8_t state_exit =0; uint8_t state_LED =0; 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; if(data=='a'||data=='A') { pattern1(); } if(data=='d'||data=='D') { pattern2(); } if(data=='s'||data=='S') { state_exit = 1; } } } while(state_exit ==0); pc.printf("\n"); break; case '2': if(state_menu == 0) { pc.printf("LED status\n"); state_menu = 1; } if(inbutton == 0) { pc.printf("OFF\n"); state_menu=1; } if(inbutton == 1) { pc.printf("ON\n"); state_menu=1; } pc.printf("\n\n"); break; default: pc.printf("plz select 1 or 2 only\n"); pc.printf("\n\n"); break; } } } }