l

Dependencies:   mbed

Fork of Nucleo_serial_sf by PuG

Committer:
NamSom
Date:
Mon Oct 26 09:48:51 2015 +0000
Revision:
4:eae42fe39107
Parent:
3:a46061896235
55

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NamSom 4:eae42fe39107 1 #include "mbed.h"
Peeraya 0:09e78c46c376 2
Peeraya 0:09e78c46c376 3 //------------------------------------
Peeraya 0:09e78c46c376 4 // Hyperterminal configuration
Peeraya 0:09e78c46c376 5 // 9600 bauds, 8-bit data, no parity
Peeraya 0:09e78c46c376 6 //------------------------------------
NamSom 4:eae42fe39107 7 int pattern1();
NamSom 4:eae42fe39107 8 int pattern2();
NamSom 4:eae42fe39107 9 int checkState();
Peeraya 1:a3a6e8f878da 10 Serial pc(SERIAL_TX, SERIAL_RX);
Peeraya 0:09e78c46c376 11
Peeraya 0:09e78c46c376 12 DigitalOut myled0(D15);
Peeraya 0:09e78c46c376 13 DigitalOut myled1(D14);
Peeraya 0:09e78c46c376 14 DigitalOut myled2(D13);
Peeraya 0:09e78c46c376 15 DigitalOut myled3(D12);
Peeraya 0:09e78c46c376 16 DigitalOut myled4(D11);
Peeraya 0:09e78c46c376 17 DigitalOut myled5(D10);
Peeraya 0:09e78c46c376 18 DigitalOut myled6(D9);
Peeraya 0:09e78c46c376 19 DigitalOut myled7(D8);
Peeraya 0:09e78c46c376 20
Peeraya 0:09e78c46c376 21 DigitalIn inbutton(D3);
NamSom 4:eae42fe39107 22 char data;
Peeraya 0:09e78c46c376 23
NamSom 3:a46061896235 24 int checkState()
NamSom 3:a46061896235 25 {
NamSom 4:eae42fe39107 26 if(pc.readable()==1){
NamSom 3:a46061896235 27 data = pc.getc();
NamSom 4:eae42fe39107 28 if(data=='s'||data=='S') {return 1;}
NamSom 4:eae42fe39107 29 else if(data=='a'||data=='A') {return 2;}
NamSom 4:eae42fe39107 30 else if(data=='d'||data=='D') {return 3;}
NamSom 4:eae42fe39107 31 else return 0;}
NamSom 3:a46061896235 32 }
NamSom 3:a46061896235 33
NamSom 4:eae42fe39107 34 int pattern1()
NamSom 3:a46061896235 35 {
NamSom 4:eae42fe39107 36 int check;
NamSom 3:a46061896235 37 while(1){
NamSom 3:a46061896235 38 myled0=1;
NamSom 3:a46061896235 39 wait(1);
NamSom 3:a46061896235 40 myled0=0;
NamSom 3:a46061896235 41 check=checkState();
NamSom 4:eae42fe39107 42 if(check==1) {return 1;}
NamSom 3:a46061896235 43 else if(check==3) break;
NamSom 3:a46061896235 44 myled1=1;
NamSom 3:a46061896235 45 wait(1);
NamSom 3:a46061896235 46 myled1=0;
NamSom 3:a46061896235 47 check=checkState();
NamSom 4:eae42fe39107 48 if(check==1) {return 1;}
NamSom 3:a46061896235 49 else if(check==3) break;
NamSom 3:a46061896235 50 myled2=1;
NamSom 3:a46061896235 51 wait(1);
NamSom 3:a46061896235 52 myled2=0;
NamSom 3:a46061896235 53 check=checkState();
NamSom 4:eae42fe39107 54 if(check==1) {return 1;}
NamSom 3:a46061896235 55 else if(check==3) break;
NamSom 3:a46061896235 56 myled3=1;
NamSom 3:a46061896235 57 wait(1);
NamSom 3:a46061896235 58 myled3=0;
NamSom 3:a46061896235 59 check=checkState();
NamSom 4:eae42fe39107 60 if(check==1) {return 1;}
NamSom 3:a46061896235 61 else if(check==3) break;
NamSom 3:a46061896235 62 myled4=1;
NamSom 3:a46061896235 63 wait(1);
NamSom 3:a46061896235 64 myled4=0;
NamSom 3:a46061896235 65 check=checkState();
NamSom 4:eae42fe39107 66 if(check==1) {return 1;}
NamSom 3:a46061896235 67 else if(check==3) break;
NamSom 3:a46061896235 68 myled5=1;
NamSom 3:a46061896235 69 wait(1);
NamSom 3:a46061896235 70 myled5=0;
NamSom 3:a46061896235 71 check=checkState();
NamSom 4:eae42fe39107 72 if(check==1) {return 1;}
NamSom 3:a46061896235 73 else if(check==3) break;
NamSom 3:a46061896235 74 myled6=1;
NamSom 3:a46061896235 75 wait(1);
NamSom 3:a46061896235 76 myled6=0;
NamSom 3:a46061896235 77 check=checkState();
NamSom 4:eae42fe39107 78 if(check==1) {return 1;}
NamSom 3:a46061896235 79 else if(check==3) break;
NamSom 3:a46061896235 80 myled7=1;
NamSom 3:a46061896235 81 wait(1);
NamSom 3:a46061896235 82 myled7=0;
NamSom 3:a46061896235 83 check=checkState();
NamSom 4:eae42fe39107 84 if(check==1) {return 1;}
NamSom 3:a46061896235 85 else if(check==3) break;
NamSom 3:a46061896235 86 }
NamSom 3:a46061896235 87 pattern2();
NamSom 4:eae42fe39107 88 return 0;
NamSom 3:a46061896235 89 }
NamSom 3:a46061896235 90
NamSom 4:eae42fe39107 91 int pattern2()
NamSom 3:a46061896235 92 {
NamSom 3:a46061896235 93 uint8_t check;
NamSom 3:a46061896235 94 while(1) {
NamSom 3:a46061896235 95 myled0 =1;
NamSom 3:a46061896235 96 myled1 =1;
NamSom 3:a46061896235 97 myled4 =1;
NamSom 3:a46061896235 98 myled5 =1;
NamSom 3:a46061896235 99 wait(1);
NamSom 3:a46061896235 100 myled0 =0;
NamSom 3:a46061896235 101 myled1 =0;
NamSom 3:a46061896235 102 myled4 =0;
NamSom 3:a46061896235 103 myled5 =0;
NamSom 3:a46061896235 104 check=checkState();
NamSom 4:eae42fe39107 105 if(check==1) {return 1;}
NamSom 3:a46061896235 106 else if(check==3) break;
NamSom 3:a46061896235 107 myled2 =1;
NamSom 3:a46061896235 108 myled3 =1;
NamSom 3:a46061896235 109 myled6 =1;
NamSom 3:a46061896235 110 myled7 =1;
NamSom 3:a46061896235 111 wait(1);
NamSom 3:a46061896235 112 myled2 =0;
NamSom 3:a46061896235 113 myled3 =0;
NamSom 3:a46061896235 114 myled6 =0;
NamSom 3:a46061896235 115 myled7 =0;
NamSom 3:a46061896235 116 check=checkState();
NamSom 4:eae42fe39107 117 if(check==1) {return 1;}
NamSom 3:a46061896235 118 else if(check==3) break;
NamSom 3:a46061896235 119 }
NamSom 3:a46061896235 120 pattern1();
NamSom 4:eae42fe39107 121 return 0;
NamSom 3:a46061896235 122 }
NamSom 3:a46061896235 123
Peeraya 0:09e78c46c376 124
Peeraya 0:09e78c46c376 125 int main()
Peeraya 0:09e78c46c376 126 {
Peeraya 0:09e78c46c376 127
Peeraya 0:09e78c46c376 128 uint8_t state_menu=0;
Peeraya 0:09e78c46c376 129 uint8_t state_show=0;
Peeraya 0:09e78c46c376 130 uint8_t state_exit =0;
NamSom 3:a46061896235 131 uint8_t state_LED =0;
NamSom 4:eae42fe39107 132
NamSom 3:a46061896235 133 myled0 = 0;
NamSom 3:a46061896235 134 myled1 = 0;
NamSom 3:a46061896235 135 myled2 = 0;
NamSom 3:a46061896235 136 myled3 = 0;
NamSom 3:a46061896235 137 myled4 = 0;
NamSom 3:a46061896235 138 myled5 = 0;
NamSom 3:a46061896235 139 myled6 = 0;
NamSom 3:a46061896235 140 myled7 = 0;
Peeraya 0:09e78c46c376 141 pc.printf("Select Mode\n");
Peeraya 0:09e78c46c376 142 while(1) {
Peeraya 0:09e78c46c376 143 if(state_show == 0) {
Peeraya 0:09e78c46c376 144 pc.printf("Menu\n");
Peeraya 0:09e78c46c376 145 pc.printf("1.Choose LED pattern\n");
Peeraya 0:09e78c46c376 146 pc.printf("2.Print status\n");
Peeraya 0:09e78c46c376 147 state_show =1;
Peeraya 0:09e78c46c376 148 }
Peeraya 0:09e78c46c376 149 if(pc.readable()) {
Peeraya 0:09e78c46c376 150 data = pc.getc();
Peeraya 0:09e78c46c376 151 pc.printf("\n");
Peeraya 0:09e78c46c376 152 state_show =0;
Peeraya 0:09e78c46c376 153 state_exit =0;
Peeraya 0:09e78c46c376 154
Peeraya 0:09e78c46c376 155 switch(data) {
Peeraya 0:09e78c46c376 156 case '1':
Peeraya 0:09e78c46c376 157 do {
Peeraya 0:09e78c46c376 158 if(state_menu == 0) {
Peeraya 0:09e78c46c376 159 pc.printf("Choose LED pattern\n");
Peeraya 0:09e78c46c376 160 pc.printf("a.Pattern1\n");
Peeraya 0:09e78c46c376 161 pc.printf("d.Pattern2\n");
Peeraya 0:09e78c46c376 162 pc.printf("s.Exit\n");
Peeraya 0:09e78c46c376 163 state_menu = 1;
Peeraya 0:09e78c46c376 164 }
Peeraya 0:09e78c46c376 165 if(pc.readable()) {
Peeraya 0:09e78c46c376 166 data = pc.getc();
Peeraya 0:09e78c46c376 167 pc.printf("\n");
Peeraya 0:09e78c46c376 168 state_menu=0;
Peeraya 0:09e78c46c376 169
NamSom 4:eae42fe39107 170 if(data=='a'||data=='A') {
NamSom 3:a46061896235 171 pattern1();
Peeraya 0:09e78c46c376 172 }
NamSom 3:a46061896235 173 if(data=='d'||data=='D') {
NamSom 3:a46061896235 174 pattern2();
NamSom 3:a46061896235 175 }
NamSom 3:a46061896235 176 if(data=='s'||data=='S') {
NamSom 3:a46061896235 177 state_exit = 1;
NamSom 3:a46061896235 178 }
NamSom 3:a46061896235 179 }
Peeraya 0:09e78c46c376 180
Peeraya 0:09e78c46c376 181 } while(state_exit ==0);
Peeraya 0:09e78c46c376 182 pc.printf("\n");
Peeraya 0:09e78c46c376 183 break;
Peeraya 0:09e78c46c376 184
Peeraya 0:09e78c46c376 185 case '2':
Peeraya 0:09e78c46c376 186
NamSom 3:a46061896235 187 if(state_menu == 0) {
NamSom 3:a46061896235 188 pc.printf("LED status\n");
NamSom 3:a46061896235 189 state_menu = 1;
NamSom 3:a46061896235 190 }
NamSom 3:a46061896235 191 if(inbutton == 0) {
NamSom 3:a46061896235 192 pc.printf("OFF\n");
NamSom 3:a46061896235 193 state_menu=1;
NamSom 3:a46061896235 194 }
NamSom 3:a46061896235 195 if(inbutton == 1) {
NamSom 3:a46061896235 196 pc.printf("ON\n");
NamSom 3:a46061896235 197 state_menu=1;
NamSom 3:a46061896235 198 }
NamSom 3:a46061896235 199
Peeraya 0:09e78c46c376 200 pc.printf("\n\n");
Peeraya 0:09e78c46c376 201 break;
Peeraya 0:09e78c46c376 202
Peeraya 0:09e78c46c376 203 default:
Peeraya 0:09e78c46c376 204 pc.printf("plz select 1 or 2 only\n");
Peeraya 0:09e78c46c376 205 pc.printf("\n\n");
Peeraya 0:09e78c46c376 206 break;
Peeraya 0:09e78c46c376 207 }
Peeraya 0:09e78c46c376 208 }
Peeraya 0:09e78c46c376 209
Peeraya 0:09e78c46c376 210 }
Peeraya 0:09e78c46c376 211 }