EET214 Lab 6 Fortune Teller Sample Code
Fork of Serial_HelloWorld_Mbed by
main.cpp@1:aeff3dd6345d, 2017-11-08 (annotated)
- Committer:
- YuliangHao
- Date:
- Wed Nov 08 21:44:23 2017 +0000
- Revision:
- 1:aeff3dd6345d
- Parent:
- 0:879aa9d0247b
Lab 6 Fortune Teller Sample Code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:879aa9d0247b | 1 | #include "mbed.h" |
mbed_official | 0:879aa9d0247b | 2 | |
mbed_official | 0:879aa9d0247b | 3 | Serial pc(USBTX, USBRX); // tx, rx |
YuliangHao | 1:aeff3dd6345d | 4 | Serial mb(p9,p10); //Serial Port on mbed |
YuliangHao | 1:aeff3dd6345d | 5 | char receive[200]=""; //Receive char array |
YuliangHao | 1:aeff3dd6345d | 6 | char pcRcv =0; //Letter received from PC |
YuliangHao | 1:aeff3dd6345d | 7 | char mbRcv =0; //Letter received from the mbed port |
YuliangHao | 1:aeff3dd6345d | 8 | |
YuliangHao | 1:aeff3dd6345d | 9 | //Fortune string array |
YuliangHao | 1:aeff3dd6345d | 10 | char *fortuneString[10] = { |
YuliangHao | 1:aeff3dd6345d | 11 | "Today is your luck day. You will meet your lover.", |
YuliangHao | 1:aeff3dd6345d | 12 | "You are cursed today. Stay home." |
YuliangHao | 1:aeff3dd6345d | 13 | //etc |
YuliangHao | 1:aeff3dd6345d | 14 | }; |
YuliangHao | 1:aeff3dd6345d | 15 | |
mbed_official | 0:879aa9d0247b | 16 | int main() { |
YuliangHao | 1:aeff3dd6345d | 17 | |
YuliangHao | 1:aeff3dd6345d | 18 | //Show prompt message to user |
YuliangHao | 1:aeff3dd6345d | 19 | pc.printf("Please input your fortune number:"); |
YuliangHao | 1:aeff3dd6345d | 20 | |
YuliangHao | 1:aeff3dd6345d | 21 | while(1) |
YuliangHao | 1:aeff3dd6345d | 22 | { |
YuliangHao | 1:aeff3dd6345d | 23 | if(pc.readable() ) //If there is letter on PC port |
YuliangHao | 1:aeff3dd6345d | 24 | { |
YuliangHao | 1:aeff3dd6345d | 25 | pcRcv=pc.getc(); //Read a char from the PC |
YuliangHao | 1:aeff3dd6345d | 26 | pc.printf("%c\n",pcRcv); //Bounce back user input to Tera Term |
YuliangHao | 1:aeff3dd6345d | 27 | |
YuliangHao | 1:aeff3dd6345d | 28 | if (pcRcv >= '0' && pcRcv <='9') //If you received a number, ignore any other letter |
YuliangHao | 1:aeff3dd6345d | 29 | { |
YuliangHao | 1:aeff3dd6345d | 30 | //Send the number to another side |
YuliangHao | 1:aeff3dd6345d | 31 | mb.putc(pcRcv); |
YuliangHao | 1:aeff3dd6345d | 32 | |
YuliangHao | 1:aeff3dd6345d | 33 | //Read the fortune string endded with a new line "\n" |
YuliangHao | 1:aeff3dd6345d | 34 | mb.scanf("%[^\n]",receive); |
YuliangHao | 1:aeff3dd6345d | 35 | pc.printf("%s\n\n,receive); //Show the string to the Tera Term |
YuliangHao | 1:aeff3dd6345d | 36 | |
YuliangHao | 1:aeff3dd6345d | 37 | pc.printf("Please input your fortune number:"); |
YuliangHao | 1:aeff3dd6345d | 38 | } |
YuliangHao | 1:aeff3dd6345d | 39 | |
YuliangHao | 1:aeff3dd6345d | 40 | } |
YuliangHao | 1:aeff3dd6345d | 41 | |
YuliangHao | 1:aeff3dd6345d | 42 | if(mb.readable()) //If there is letter from another mbed |
YuliangHao | 1:aeff3dd6345d | 43 | { |
YuliangHao | 1:aeff3dd6345d | 44 | mbRcv=mb.getc(); //Read a char from the mbed |
YuliangHao | 1:aeff3dd6345d | 45 | pc.printf("\nmbed received letter: %c\n",mbRcv); //Debug message. Show char received from another mbed to Tera Term |
YuliangHao | 1:aeff3dd6345d | 46 | |
YuliangHao | 1:aeff3dd6345d | 47 | if (mbRcv >= '0' && mbRcv <='9') //If you received a number |
YuliangHao | 1:aeff3dd6345d | 48 | { |
YuliangHao | 1:aeff3dd6345d | 49 | mb.printf("%s\n", fortuneString[mbRcv-0x30]); //Send the fortune string to another mbed |
YuliangHao | 1:aeff3dd6345d | 50 | pc.printf("Sent to another mbed %s\n", fortuneString[mbRcv-0x30]); //Debug Message: Show what is sent to another mbed |
YuliangHao | 1:aeff3dd6345d | 51 | } |
YuliangHao | 1:aeff3dd6345d | 52 | |
YuliangHao | 1:aeff3dd6345d | 53 | pc.printf("Please input your fortune number:"); |
YuliangHao | 1:aeff3dd6345d | 54 | } |
YuliangHao | 1:aeff3dd6345d | 55 | |
mbed_official | 0:879aa9d0247b | 56 | } |
mbed_official | 0:879aa9d0247b | 57 | } |