A serial parser for a specific project

Dependencies:   mbed

Fork of Serial_HelloWorld_Mbed by mbed official

Committer:
philipgoosen
Date:
Tue Jul 14 12:31:38 2015 +0000
Revision:
3:3399899d714b
Parent:
2:dcca46d7ca21
Child:
4:178b04ae427e
Changed serial port to external pins;

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