![](/media/cache/group/ppp_Bl1j27I.jpg.50x50_q85.jpg)
l
Dependencies: mbed
Fork of Nucleo_serial_sf by
Diff: main.cpp
- Revision:
- 3:a46061896235
- Parent:
- 2:e06d96952cef
- Child:
- 4:eae42fe39107
--- a/main.cpp Sun Oct 25 06:18:39 2015 +0000 +++ b/main.cpp Mon Oct 26 03:32:41 2015 +0000 @@ -18,6 +18,103 @@ DigitalIn inbutton(D3); +int checkState() +{ + data = pc.getc(); + if(data=='s'||data='S') return 1; + else if(data=='a'||data='A') return 2; + else (data=='d'||data='D') return 3; + else return 0; +} + +void pattern1() +{ + uint8_t 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(); +} + +void 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(); +} + int main() { @@ -25,9 +122,17 @@ uint8_t state_menu=0; uint8_t state_show=0; uint8_t state_exit =0; + uint8_t state_LED =0; uint8_t data; - myled0 = 0;myled1 = 0;myled2 = 0;myled3 = 0;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 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) { @@ -56,66 +161,17 @@ data = pc.getc(); pc.printf("\n"); state_menu=0; - - if(data=='a'||data='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; - } - if(data=='d'||data=='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; - } + 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"); @@ -123,22 +179,19 @@ 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; - } - + 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;