OX / Mbed 2 deprecated Proj

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002  
00003 Serial duino(PA_11, PA_12);
00004 Serial pc(USBTX, USBRX);
00005 DigitalIn btn(USER_BUTTON); 
00006 DigitalIn btn1();
00007 Timer timer;
00008 uint8_t state_new=0;
00009 uint8_t state_menu=0;
00010 uint8_t state_show=0;
00011 uint8_t state_exit =0;
00012 uint8_t data;
00013 int last[3] = {0,0,0};
00014 
00015 int lis[30] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30};
00016 
00017 void Win(){  //ชนะ
00018     if (timer.read() > 1) {
00019         pc.printf("Writing!\n\r");
00020         duino.putc(lis[0]);
00021         duino.putc(lis[1]);
00022         duino.putc(lis[2]);
00023         timer.reset();
00024         }
00025     if (duino.readable())
00026         {
00027         pc.printf("recieving %c",duino.getc());
00028         }
00029     }
00030 
00031 void  Lose(){ //แพ้
00032     
00033     if (timer.read() > 1) {
00034         pc.printf("Writing!\n\r");
00035         duino.putc(lis[3]);
00036         duino.putc(lis[4]);
00037         duino.putc(lis[5]);
00038         duino.putc(lis[6]);
00039         timer.reset();
00040         }
00041     if (duino.readable())
00042         {
00043         pc.printf("recieving %c",duino.getc());
00044         }
00045 
00046     }    
00047 
00048 
00049 void number(){  //นับเวลา
00050      if (timer.read() > 1) {
00051         pc.printf("Writing!\n\r");
00052         duino.putc(lis[7]);  //9  
00053         duino.putc(lis[8]);  //8
00054         duino.putc(lis[9]);  //7
00055         duino.putc(lis[10]);//6
00056         duino.putc(lis[11]);//5
00057         duino.putc(lis[12]);//4
00058         duino.putc(lis[13]);//3
00059         duino.putc(lis[14]);//2
00060         duino.putc(lis[15]);//1
00061         duino.putc(lis[16]);//0
00062                
00063         timer.reset();
00064         }
00065     if (duino.readable()){
00066         pc.printf("recieving %c",duino.getc());
00067         }
00068 
00069     }
00070  
00071 
00072 void correct(){  //เช็คถูก
00073     if (timer.read() > 1) {
00074         pc.printf("Writing!\n\r");
00075         duino.putc(lis[18]);
00076         timer.reset();
00077         }
00078     if (duino.readable()){
00079         pc.printf("recieving %c",duino.getc());
00080         }
00081 
00082     }
00083     
00084 void error(){  // 
00085     if (timer.read() > 1) {
00086         pc.printf("Writing!\n\r");
00087         duino.putc(lis[19]);
00088         timer.reset();
00089         }
00090     if (duino.readable()){
00091         pc.printf("recieving %c",duino.getc());
00092         }
00093 
00094     }
00095 void heart(){  //ลงค่าเสร็จ
00096     if (timer.read() > 1) {
00097         pc.printf("Writing!\n\r");
00098         
00099         
00100         duino.putc(lis[20]);
00101         
00102         
00103         timer.reset();
00104                 }
00105     if (duino.readable()){
00106         pc.printf("recieving %c",duino.getc());
00107             }         
00108     
00109     }
00110 void woman(){  //ตัวหลัก
00111     if (timer.read() > 1) {
00112         pc.printf("Writing!\n\r");
00113         
00114         
00115         duino.putc(lis[21]);
00116         
00117         
00118         timer.reset();
00119                 }
00120     if (duino.readable()){
00121         pc.printf("recieving %c",duino.getc());
00122             }         
00123     
00124     }
00125 void von(){  //หมุน
00126     if (timer.read() > 1) {
00127         pc.printf("Writing!\n\r");
00128         
00129         
00130         duino.putc(lis[22]);
00131         
00132         
00133         timer.reset();
00134                 }
00135     if (duino.readable()){
00136         pc.printf("recieving %c",duino.getc());
00137             }         
00138     
00139     }
00140     
00141     
00142 int main() {
00143     
00144     
00145     
00146     pc.baud(9600);
00147     duino.baud(9600);
00148     pc.printf("Starting...\n\r");
00149  
00150     timer.start();
00151     while (1) {
00152         if (btn == 9)
00153         {
00154             Win();
00155             
00156         }
00157         
00158         if (btn == 9)
00159         {
00160          Lose();
00161             
00162         }
00163         if (btn == 0)
00164         {
00165          number();  
00166             
00167         }
00168         
00169         if (btn == 9)  //True
00170         {
00171           correct();  
00172         }
00173         
00174          if (btn == 9)  //error
00175         {
00176            error(); 
00177             
00178         }
00179         if (btn == 9)  
00180         {
00181             heart();
00182         }
00183        
00184         if (btn == 9)  
00185         {
00186              woman();
00187         }
00188         if (btn == 9)  
00189         {
00190              von();
00191         }
00192         
00193         wait(0.4); 
00194         
00195         if(state_show == 0) {
00196             pc.printf("************\n");
00197             pc.printf(" Menu \n");
00198             pc.printf("1.Menu1\n");
00199            
00200             state_show =1;
00201         }
00202         if(pc.readable()) {
00203             data = pc.getc();
00204             pc.printf("\n");
00205             state_show =0;
00206             state_exit =0;
00207             switch(data) {
00208                 case '1':
00209                 do {
00210                     if(state_menu == 0) {
00211                         pc.printf("number 1-9\n");
00212                         
00213                         state_menu = 1;
00214                         }
00215                         if(pc.readable()) 
00216                         {
00217                             data = pc.getc();
00218                             pc.printf("\n");
00219                             state_menu=0;
00220                             switch(data) {
00221                                 wait(0.5);
00222                                 case '1':
00223                                 duino.putc(lis[15]);//1
00224                                 break;
00225                                 
00226                                 case '2':
00227                                 duino.putc(lis[14]);//2
00228                                 break;
00229                                 case '3':
00230                                 duino.putc(lis[13]);//3
00231                                 break;
00232                                 case '4':
00233                                 duino.putc(lis[12]);//4
00234                                 break;
00235                                 case '5':
00236                                 duino.putc(lis[11]);//5
00237                                 break;
00238                                 case '6':
00239                                 duino.putc(lis[10]);//6
00240                                 break;
00241                                 case '7':
00242                                 duino.putc(lis[9]);//7
00243                                 break;
00244                                 case '8':
00245                                 duino.putc(lis[8]);//8
00246                                 break;
00247                                 case '9':
00248                                 duino.putc(lis[7]);//9
00249                                 
00250                                 break;
00251                                 case 'H':
00252                                 duino.putc(lis[17]);//happy
00253                                 
00254                                 break;
00255                                
00256                                 
00257                                 default:
00258                                 pc.printf("plz select a or s\n");
00259                                 pc.printf("\n\n");
00260                                 break;
00261                                 }
00262                                 }
00263                                 } while(state_exit ==0);
00264                                 pc.printf("\n");
00265                                 break;
00266         
00267         
00268        
00269     }
00270 }
00271 }
00272 }