lab3
Dependencies: mbed
main.cpp
- Committer:
- csggreen
- Date:
- 2017-11-24
- Revision:
- 0:c0fd379f0df0
File content as of revision 0:c0fd379f0df0:
#include "mbed.h" Serial pc(D1, D0); DigitalOut gsled0(D2); DigitalOut gsled1(D3); DigitalOut gsled2(D4); DigitalOut gsled3(D5); DigitalOut gsled4(D6); DigitalOut gsled5(D7); DigitalOut gsled6(D8); DigitalOut gsled7(D9); DigitalIn sw_in1(D10); DigitalIn sw_in2(D11); DigitalIn sw_in3(D12); int switchled; int x =0; void ledout(){ if(switchled==1){ gsled0 = 1; wait(0.1); gsled1 = 1; wait(0.1); gsled2 = 1; wait(0.1); gsled3 = 1; wait(0.1); gsled4 = 1; wait(0.1); gsled5 = 1; wait(0.1); gsled6 = 1; wait(0.1); gsled7 = 1; wait(0.1); gsled7 = 0; wait(0.1); gsled6 = 0; wait(0.1); gsled5 = 0; wait(0.1); gsled4 = 0; wait(0.1); gsled3 = 0; wait(0.1); gsled2 = 0; wait(0.1); gsled1 = 0; wait(0.1); gsled0 = 0; wait(0.1); } else if(switchled==2){ gsled0 = 1; gsled7 = 1; wait(0.1); gsled0 = 0; gsled7 = 0; gsled1 = 1; gsled6 = 1; wait(0.1); gsled1 = 0; gsled6 = 0; gsled2 = 1; gsled5 = 1; wait(0.1); gsled2 = 0; gsled5 = 0; gsled3 = 1; gsled4 = 1; wait(0.1); gsled3 = 0; gsled4 = 0; } else if(switchled==3){ gsled0 = 1; wait(0.2); gsled0 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; gsled2 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; gsled2 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; gsled2 = 1; gsled3 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; gsled2 = 0; gsled3 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; gsled2 = 1; gsled3 = 1; gsled4 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; gsled2 = 0; gsled3 = 0; gsled4 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; gsled2 = 1; gsled3 = 1; gsled4 = 1; gsled5 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; gsled2 = 0; gsled3 = 0; gsled4 = 0; gsled5 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; gsled2 = 1; gsled3 = 1; gsled4 = 1; gsled5 = 1; gsled6 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; gsled2 = 0; gsled3 = 0; gsled4 = 0; gsled5 = 0; gsled6 = 0; wait(0.3); gsled0 = 1; gsled1 = 1; gsled2 = 1; gsled3 = 1; gsled4 = 1; gsled5 = 1; gsled6 = 1; gsled7 = 1; wait(0.2); gsled0 = 0; gsled1 = 0; gsled2 = 0; gsled3 = 0; gsled4 = 0; gsled5 = 0; gsled6 = 0; gsled7 = 0; wait(0.1); } else { gsled0 = 0; gsled1 = 0; gsled2 = 0; gsled3 = 0; gsled4 = 0; gsled5 = 0; gsled6 = 0; gsled7 = 0; } } int main() { uint8_t state_menu=0; uint8_t state_show=0; uint8_t state_exit =0; uint8_t data; while(1) { if(state_show == 0) { pc.printf("************\n"); pc.printf(" MENU \n"); pc.printf("************\n"); pc.printf("1.PLAY LED \n"); pc.printf("2.READ SWITCH\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("PLAY LED\n"); pc.printf("a.Pattern1\n"); pc.printf("d.Pattern2\n"); pc.printf("s.Pattern3 and Exit\n"); state_menu = 1; } if(pc.readable()) { data = pc.getc(); pc.printf("\n"); state_menu=0; switch(data) { case 'a': pc.printf("-->Pattern1<-- \n\n"); switchled = 1; ledout(); break; case 'd': pc.printf("-->pattern2<-- \n\n"); switchled = 2; ledout(); break; case 's': pc.printf("-->pattern3 and exit<-- \n\n"); switchled = 3; ledout(); state_exit =1; break; default: state_menu=0; break; } } } while(state_exit ==0); pc.printf("\n"); break; case '2': do { if(state_menu == 0) { pc.printf("Switch 1 status %d\n",sw_in1.read()); pc.printf("Switch 2 status %d\n",sw_in2.read()); pc.printf("Switch 3 status %d\n",sw_in3.read()); state_menu = 1; state_exit =1; state_show =0; } if(pc.readable()) { data = pc.getc(); pc.printf("\n"); state_menu=0; } default: state_menu=0; break; } while(state_exit ==0); pc.printf("\n"); break; } } } }