A serial parser for a specific project

Dependencies:   mbed

Fork of Serial_HelloWorld_Mbed by mbed official

Committer:
philipgoosen
Date:
Tue Jul 14 12:12:32 2015 +0000
Revision:
2:dcca46d7ca21
Parent:
1:49996c8d2982
Child:
3:3399899d714b
Wrote functions, added testing part

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:879aa9d0247b 1 #include "mbed.h"
mbed_official 0:879aa9d0247b 2
philipgoosen 2:dcca46d7ca21 3 #define TX USBTX
philipgoosen 2:dcca46d7ca21 4 #define RX USBRX
philipgoosen 2:dcca46d7ca21 5
philipgoosen 2:dcca46d7ca21 6 Serial pc(TX, RX); // tx, rx
philipgoosen 1:49996c8d2982 7 DigitalOut led(LED1);
mbed_official 0:879aa9d0247b 8
philipgoosen 2:dcca46d7ca21 9 int checkDigit(char digit)
philipgoosen 2:dcca46d7ca21 10 {
philipgoosen 2:dcca46d7ca21 11 if (digit >= '0' or digit <= '9')
philipgoosen 2:dcca46d7ca21 12 {
philipgoosen 2:dcca46d7ca21 13 return 1;
philipgoosen 2:dcca46d7ca21 14 }
philipgoosen 2:dcca46d7ca21 15 else
philipgoosen 2:dcca46d7ca21 16 {
philipgoosen 2:dcca46d7ca21 17 return 0;
philipgoosen 2:dcca46d7ca21 18 }
philipgoosen 2:dcca46d7ca21 19 }
philipgoosen 2:dcca46d7ca21 20
philipgoosen 2:dcca46d7ca21 21 int toDigit(char c)
philipgoosen 2:dcca46d7ca21 22 {
philipgoosen 2:dcca46d7ca21 23 return (c - '0');
philipgoosen 2:dcca46d7ca21 24 }
philipgoosen 2:dcca46d7ca21 25
philipgoosen 2:dcca46d7ca21 26 int main()
philipgoosen 2:dcca46d7ca21 27 {
philipgoosen 1:49996c8d2982 28 led=1;
philipgoosen 1:49996c8d2982 29 wait(0.5);
philipgoosen 1:49996c8d2982 30 led=0;
philipgoosen 1:49996c8d2982 31 pc.baud(115200);
philipgoosen 2:dcca46d7ca21 32 pc.printf("Philip's program");
philipgoosen 2:dcca46d7ca21 33 while(1)
philipgoosen 2:dcca46d7ca21 34 {
philipgoosen 1:49996c8d2982 35 //pc.putc(pc.getc() + 1);
philipgoosen 1:49996c8d2982 36 if (pc.getc() == '$' && pc.getc() == '%')
philipgoosen 1:49996c8d2982 37 {
philipgoosen 1:49996c8d2982 38 led=1;
philipgoosen 1:49996c8d2982 39 wait(1);
philipgoosen 1:49996c8d2982 40 led=0;
philipgoosen 1:49996c8d2982 41 led=1;
philipgoosen 1:49996c8d2982 42 wait(1);
philipgoosen 1:49996c8d2982 43 led=0;
philipgoosen 2:dcca46d7ca21 44
philipgoosen 2:dcca46d7ca21 45 char c = pc.getc();// Gets a character from the computer that should be a digit from 0 - 9
philipgoosen 2:dcca46d7ca21 46
philipgoosen 2:dcca46d7ca21 47 if (checkDigit(c))
philipgoosen 2:dcca46d7ca21 48 {
philipgoosen 2:dcca46d7ca21 49 int count = toDigit(c);
philipgoosen 2:dcca46d7ca21 50 int x = 0;
philipgoosen 2:dcca46d7ca21 51
philipgoosen 2:dcca46d7ca21 52 while (x < count)
philipgoosen 2:dcca46d7ca21 53 {
philipgoosen 2:dcca46d7ca21 54 pc.printf("%d ", x);
philipgoosen 2:dcca46d7ca21 55 }
philipgoosen 2:dcca46d7ca21 56 //while loop with counter
philipgoosen 2:dcca46d7ca21 57 }
philipgoosen 1:49996c8d2982 58 }
mbed_official 0:879aa9d0247b 59 }
mbed_official 0:879aa9d0247b 60 }