EET214 Lab 6 Fortune Teller Sample Code

Dependencies:   mbed

Fork of Serial_HelloWorld_Mbed by mbed official

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?

UserRevisionLine numberNew 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 }