lab3
Dependencies: mbed
main.cpp
00001 #include "mbed.h" 00002 00003 00004 Serial pc(D1, D0); 00005 00006 DigitalOut gsled0(D2); 00007 DigitalOut gsled1(D3); 00008 DigitalOut gsled2(D4); 00009 DigitalOut gsled3(D5); 00010 DigitalOut gsled4(D6); 00011 DigitalOut gsled5(D7); 00012 DigitalOut gsled6(D8); 00013 DigitalOut gsled7(D9); 00014 DigitalIn sw_in1(D10); 00015 DigitalIn sw_in2(D11); 00016 DigitalIn sw_in3(D12); 00017 int switchled; 00018 int x =0; 00019 00020 void ledout(){ 00021 if(switchled==1){ 00022 gsled0 = 1; 00023 wait(0.1); 00024 gsled1 = 1; 00025 wait(0.1); 00026 gsled2 = 1; 00027 wait(0.1); 00028 gsled3 = 1; 00029 wait(0.1); 00030 gsled4 = 1; 00031 wait(0.1); 00032 gsled5 = 1; 00033 wait(0.1); 00034 gsled6 = 1; 00035 wait(0.1); 00036 gsled7 = 1; 00037 wait(0.1); 00038 gsled7 = 0; 00039 wait(0.1); 00040 gsled6 = 0; 00041 wait(0.1); 00042 gsled5 = 0; 00043 wait(0.1); 00044 gsled4 = 0; 00045 wait(0.1); 00046 gsled3 = 0; 00047 wait(0.1); 00048 gsled2 = 0; 00049 wait(0.1); 00050 gsled1 = 0; 00051 wait(0.1); 00052 gsled0 = 0; 00053 wait(0.1); 00054 } 00055 00056 else if(switchled==2){ 00057 gsled0 = 1; 00058 gsled7 = 1; 00059 wait(0.1); 00060 gsled0 = 0; 00061 gsled7 = 0; 00062 gsled1 = 1; 00063 gsled6 = 1; 00064 wait(0.1); 00065 gsled1 = 0; 00066 gsled6 = 0; 00067 gsled2 = 1; 00068 gsled5 = 1; 00069 wait(0.1); 00070 gsled2 = 0; 00071 gsled5 = 0; 00072 gsled3 = 1; 00073 gsled4 = 1; 00074 wait(0.1); 00075 gsled3 = 0; 00076 gsled4 = 0; 00077 } 00078 else if(switchled==3){ 00079 gsled0 = 1; 00080 wait(0.2); 00081 gsled0 = 0; 00082 wait(0.3); 00083 gsled0 = 1; 00084 gsled1 = 1; 00085 wait(0.2); 00086 gsled0 = 0; 00087 gsled1 = 0; 00088 wait(0.3); 00089 gsled0 = 1; 00090 gsled1 = 1; 00091 gsled2 = 1; 00092 wait(0.2); 00093 gsled0 = 0; 00094 gsled1 = 0; 00095 gsled2 = 0; 00096 wait(0.3); 00097 gsled0 = 1; 00098 gsled1 = 1; 00099 gsled2 = 1; 00100 gsled3 = 1; 00101 wait(0.2); 00102 gsled0 = 0; 00103 gsled1 = 0; 00104 gsled2 = 0; 00105 gsled3 = 0; 00106 wait(0.3); 00107 gsled0 = 1; 00108 gsled1 = 1; 00109 gsled2 = 1; 00110 gsled3 = 1; 00111 gsled4 = 1; 00112 wait(0.2); 00113 gsled0 = 0; 00114 gsled1 = 0; 00115 gsled2 = 0; 00116 gsled3 = 0; 00117 gsled4 = 0; 00118 wait(0.3); 00119 gsled0 = 1; 00120 gsled1 = 1; 00121 gsled2 = 1; 00122 gsled3 = 1; 00123 gsled4 = 1; 00124 gsled5 = 1; 00125 wait(0.2); 00126 gsled0 = 0; 00127 gsled1 = 0; 00128 gsled2 = 0; 00129 gsled3 = 0; 00130 gsled4 = 0; 00131 gsled5 = 0; 00132 wait(0.3); 00133 gsled0 = 1; 00134 gsled1 = 1; 00135 gsled2 = 1; 00136 gsled3 = 1; 00137 gsled4 = 1; 00138 gsled5 = 1; 00139 gsled6 = 1; 00140 wait(0.2); 00141 gsled0 = 0; 00142 gsled1 = 0; 00143 gsled2 = 0; 00144 gsled3 = 0; 00145 gsled4 = 0; 00146 gsled5 = 0; 00147 gsled6 = 0; 00148 wait(0.3); 00149 gsled0 = 1; 00150 gsled1 = 1; 00151 gsled2 = 1; 00152 gsled3 = 1; 00153 gsled4 = 1; 00154 gsled5 = 1; 00155 gsled6 = 1; 00156 gsled7 = 1; 00157 wait(0.2); 00158 gsled0 = 0; 00159 gsled1 = 0; 00160 gsled2 = 0; 00161 gsled3 = 0; 00162 gsled4 = 0; 00163 gsled5 = 0; 00164 gsled6 = 0; 00165 gsled7 = 0; 00166 wait(0.1); 00167 00168 } 00169 else { 00170 gsled0 = 0; 00171 gsled1 = 0; 00172 gsled2 = 0; 00173 gsled3 = 0; 00174 gsled4 = 0; 00175 gsled5 = 0; 00176 gsled6 = 0; 00177 gsled7 = 0; 00178 } 00179 00180 } 00181 00182 00183 int main() 00184 { 00185 00186 uint8_t state_menu=0; 00187 uint8_t state_show=0; 00188 uint8_t state_exit =0; 00189 uint8_t data; 00190 00191 while(1) { 00192 if(state_show == 0) { 00193 pc.printf("************\n"); 00194 pc.printf(" MENU \n"); 00195 pc.printf("************\n"); 00196 pc.printf("1.PLAY LED \n"); 00197 pc.printf("2.READ SWITCH\n"); 00198 state_show =1; 00199 } 00200 if(pc.readable()) { 00201 data = pc.getc(); 00202 pc.printf("\n"); 00203 state_show =0; 00204 state_exit =0; 00205 00206 switch(data) { 00207 case '1': 00208 do { 00209 if(state_menu == 0) { 00210 pc.printf("PLAY LED\n"); 00211 pc.printf("a.Pattern1\n"); 00212 pc.printf("d.Pattern2\n"); 00213 pc.printf("s.Pattern3 and Exit\n"); 00214 state_menu = 1; 00215 } 00216 00217 if(pc.readable()) { 00218 data = pc.getc(); 00219 pc.printf("\n"); 00220 state_menu=0; 00221 00222 switch(data) { 00223 00224 case 'a': 00225 pc.printf("-->Pattern1<-- \n\n"); 00226 switchled = 1; 00227 ledout(); 00228 break; 00229 00230 case 'd': 00231 pc.printf("-->pattern2<-- \n\n"); 00232 switchled = 2; 00233 ledout(); 00234 break; 00235 00236 case 's': 00237 pc.printf("-->pattern3 and exit<-- \n\n"); 00238 switchled = 3; 00239 ledout(); 00240 state_exit =1; 00241 break; 00242 default: 00243 state_menu=0; 00244 break; 00245 } 00246 } 00247 } while(state_exit ==0); 00248 pc.printf("\n"); 00249 break; 00250 00251 case '2': 00252 00253 do { 00254 if(state_menu == 0) { 00255 pc.printf("Switch 1 status %d\n",sw_in1.read()); 00256 pc.printf("Switch 2 status %d\n",sw_in2.read()); 00257 pc.printf("Switch 3 status %d\n",sw_in3.read()); 00258 state_menu = 1; 00259 state_exit =1; 00260 state_show =0; 00261 00262 } 00263 if(pc.readable()) { 00264 data = pc.getc(); 00265 pc.printf("\n"); 00266 state_menu=0; 00267 } 00268 default: 00269 state_menu=0; 00270 break; 00271 } 00272 while(state_exit ==0); 00273 pc.printf("\n"); 00274 break; 00275 00276 } 00277 } 00278 } 00279 } 00280
Generated on Thu Jul 14 2022 04:44:28 by 1.7.2