hf
Dependencies: mbed
Fork of Proj by
Diff: main.cpp
- Revision:
- 0:d26b3ebaf06e
- Child:
- 1:e9b23de44bb8
diff -r 000000000000 -r d26b3ebaf06e main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Dec 04 23:01:44 2016 +0000 @@ -0,0 +1,272 @@ +#include "mbed.h" + +Serial duino(PA_11, PA_12); +Serial pc(USBTX, USBRX); +DigitalIn btn(USER_BUTTON); +DigitalIn btn1(); +Timer timer; +uint8_t state_new=0; +uint8_t state_menu=0; +uint8_t state_show=0; +uint8_t state_exit =0; +uint8_t data; +int last[3] = {0,0,0}; + +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}; + +void Win(){ //ชนะ + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + duino.putc(lis[0]); + duino.putc(lis[1]); + duino.putc(lis[2]); + timer.reset(); + } + if (duino.readable()) + { + pc.printf("recieving %c",duino.getc()); + } + } + +void Lose(){ //แพ้ + + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + duino.putc(lis[3]); + duino.putc(lis[4]); + duino.putc(lis[5]); + duino.putc(lis[6]); + timer.reset(); + } + if (duino.readable()) + { + pc.printf("recieving %c",duino.getc()); + } + + } + + +void number(){ //นับเวลา + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + duino.putc(lis[7]); //9 + duino.putc(lis[8]); //8 + duino.putc(lis[9]); //7 + duino.putc(lis[10]);//6 + duino.putc(lis[11]);//5 + duino.putc(lis[12]);//4 + duino.putc(lis[13]);//3 + duino.putc(lis[14]);//2 + duino.putc(lis[15]);//1 + duino.putc(lis[16]);//0 + + timer.reset(); + } + if (duino.readable()){ + pc.printf("recieving %c",duino.getc()); + } + + } + + +void correct(){ //เช็คถูก + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + duino.putc(lis[18]); + timer.reset(); + } + if (duino.readable()){ + pc.printf("recieving %c",duino.getc()); + } + + } + +void error(){ // + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + duino.putc(lis[19]); + timer.reset(); + } + if (duino.readable()){ + pc.printf("recieving %c",duino.getc()); + } + + } +void heart(){ //ลงค่าเสร็จ + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + + + duino.putc(lis[20]); + + + timer.reset(); + } + if (duino.readable()){ + pc.printf("recieving %c",duino.getc()); + } + + } +void woman(){ //ตัวหลัก + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + + + duino.putc(lis[21]); + + + timer.reset(); + } + if (duino.readable()){ + pc.printf("recieving %c",duino.getc()); + } + + } +void von(){ //หมุน + if (timer.read() > 1) { + pc.printf("Writing!\n\r"); + + + duino.putc(lis[22]); + + + timer.reset(); + } + if (duino.readable()){ + pc.printf("recieving %c",duino.getc()); + } + + } + + +int main() { + + + + pc.baud(9600); + duino.baud(9600); + pc.printf("Starting...\n\r"); + + timer.start(); + while (1) { + if (btn == 9) + { + Win(); + + } + + if (btn == 9) + { + Lose(); + + } + if (btn == 0) + { + number(); + + } + + if (btn == 9) //True + { + correct(); + } + + if (btn == 9) //error + { + error(); + + } + if (btn == 9) + { + heart(); + } + + if (btn == 9) + { + woman(); + } + if (btn == 9) + { + von(); + } + + wait(0.4); + + if(state_show == 0) { + pc.printf("************\n"); + pc.printf(" Menu \n"); + pc.printf("1.Menu1\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("number 1-9\n"); + + state_menu = 1; + } + if(pc.readable()) + { + data = pc.getc(); + pc.printf("\n"); + state_menu=0; + switch(data) { + wait(0.5); + case '1': + duino.putc(lis[15]);//1 + break; + + case '2': + duino.putc(lis[14]);//2 + break; + case '3': + duino.putc(lis[13]);//3 + break; + case '4': + duino.putc(lis[12]);//4 + break; + case '5': + duino.putc(lis[11]);//5 + break; + case '6': + duino.putc(lis[10]);//6 + break; + case '7': + duino.putc(lis[9]);//7 + break; + case '8': + duino.putc(lis[8]);//8 + break; + case '9': + duino.putc(lis[7]);//9 + + break; + case 'H': + duino.putc(lis[17]);//happy + + break; + + + default: + pc.printf("plz select a or s\n"); + pc.printf("\n\n"); + break; + } + } + } while(state_exit ==0); + pc.printf("\n"); + break; + + + + } +} +} +} \ No newline at end of file