Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:7359a54eb056, committed 2018-11-16
- Comitter:
- sunninety1
- Date:
- Fri Nov 16 16:53:05 2018 +0000
- Commit message:
- 10;
Changed in this revision
LAB3.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LAB3.cpp Fri Nov 16 16:53:05 2018 +0000 @@ -0,0 +1,242 @@ +#include "mbed.h" +Serial pc(D8, D2); // change to D8, D2 for BT คำสั่งเลือก port ให้เป็น tx rx ถ้าไม่กำหนด แปลว่าใช้ baudrate 9600 +Serial ser(D1, D0); +//for 7 segment digit 1 +DigitalOut sd(PC_0); +DigitalOut sc(PC_1); +DigitalOut sb(PB_0); +DigitalOut sa(PA_4); +DigitalOut sdo(PA_1); + +AnalogIn analog_value(A1); + + +void m1(int x) +{ + BusOut a(PA_4,PB_0,PC_1,PC_0); + a=x; +} +int main() +{ + uint8_t state_menu=0; //ให้ตัวแปลเหล่านี้เก็บในรูป 8บิต + uint8_t state_show=0; + uint8_t state_exit =0; + uint8_t state_ser=0; + uint8_t data; + uint8_t data1; + while(1) { + if(state_show == 0) { + pc.printf("************\n"); + pc.printf(" Menu \n"); + pc.printf("************\n"); + pc.printf("1.Show number in 7segment\n"); + pc.printf("2.Read VR"); + state_show =1; + } + + + if(pc.readable()) { // คำสั่งดูว่ามีอะไรส่งมาไหม ถ้ามีก็จะเริ่มเข้าคำสั่ง + data = pc.getc(); // pc.getc คือรับค่าที่เราพิมพ์ใน serial monitor + pc.printf("***************\n"); + state_show =0; + state_exit =0; + + switch(data) { + case '1': + do { + if(state_menu == 0) { + pc.printf("Plz Enter number 0-9\n"); + pc.printf("x.Exit\n"); + state_menu = 1; + } + + if(pc.readable()) { + + if(state_ser==0) { + ser.printf("Request 1 accept? \n"); + ser.printf("accept : y \n "); + state_ser=1; + } + + if(ser.readable()) { + data1 = ser.getc(); + if(data1=='y') { + data = pc.getc(); + switch(data) { + case '0': + ser.printf("Show number 0 in 7segment \n"); + m1(0); + state_ser=0; + break; + + case '1': + ser.printf("Show number 1 in 7segment \n"); + m1(1); + state_ser=0; + break; + + case '2': + ser.printf("Show number 2 in 7segment \n"); + m1(2); + state_ser=0; + break; + + case '3': + ser.printf("Show number 3 in 7segment \n"); + m1(3); + state_ser=0; + break; + + case '4': + ser.printf("Show number 4 in 7segment \n"); + m1(4); + state_ser=0; + break; + + case '5': + ser.printf("Show number 5 in 7segment \n"); + m1(5); + state_ser=0; + break; + + case '6': + ser.printf("Show number 6 in 7segment \n"); + m1(6); + state_ser=0; + break; + + case '7': + ser.printf("Show number 7 in 7segment \n"); + m1(7); + state_ser=0; + break; + + case '8': + ser.printf("Show number 8 in 7segment \n"); + m1(8); + state_ser=0; + break; + + case '9': + ser.printf("Show number 9 in 7segment \n"); + m1(9); + state_ser=0; + break; + + case 'x': + pc.printf("*****************\n back to menu \n"); + state_exit =1; + state_ser=0; + break; + + default: + pc.printf("plz select number 0-9 or x\n"); + pc.printf("\n"); + state_ser=0; + break; + } + } else { + state_menu=0; + state_ser=0; + } + } + } + } while(state_exit ==0); + pc.printf("\n"); + break; + case '2': + do { + if(state_menu == 0) { + pc.printf("a.Show analog input\n"); + pc.printf("x.Exit\n"); + state_menu = 1; + } + if(pc.readable()) { + + if(state_ser==0) { + ser.printf("Request 2 accept? \n"); + ser.printf("accept : y \n "); + state_ser=1; + } + + if(ser.readable()) { + data1 = ser.getc(); + if(data1=='y') { + data=pc.getc(); + switch(data) { + case 'a': + float meas_r = analog_value.read(); + meas_r*=3.3; + pc.printf("%0.2f\n",meas_r); + state_ser=0; + break; + case 'x': + ser.printf("back to menu \n"); + state_exit =1; + state_ser=0; + break; + default: + pc.printf("plz select a or x\n"); + pc.printf("\n"); + state_ser=0; + break; + } + } else { + state_menu=0; + state_ser=0; + } + } + } + } while(state_exit ==0); + pc.printf("\n"); + break; + + + + /* switch(data) { + + case 'a': { + ser.printf("Request 2 accept? \n"); + if(ser.readable()) { + data1=ser.getc(); + if(data1=='y') { + float meas_r = analog_value.read(); + meas_r*=3.3; + pc.printf("%0.2f\n",meas_r); + break; + } else { + break; + } + } + + break; + + } + case 'x': { + state_exit =1; + break; + } + default: { + pc.printf("plz select a or x \n"); + pc.printf("\n"); + break; + } + }*/ + + // pc.printf("kkkkk\n"); + + default: + pc.printf("plz select 1 or 2 \n"); + pc.printf("\n"); + state_ser=0; + break; + } + + + } + + } + +} + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Nov 16 16:53:05 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/e95d10626187 \ No newline at end of file