led

Dependencies:   mbed

Revision:
0:09e78c46c376
Child:
1:a3a6e8f878da
--- /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;
+            }
+        }
+
+    }
+}