A serial parser for a specific project

Dependencies:   mbed

Fork of Serial_HelloWorld_Mbed by mbed official

Committer:
philipgoosen
Date:
Tue Jul 14 14:22:51 2015 +0000
Revision:
6:da101b92bc2d
Parent:
5:1ba2b0e9e582
Child:
7:d25708589910
Renamed and added functions;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:879aa9d0247b 1 #include "mbed.h"
philipgoosen 5:1ba2b0e9e582 2 // Data parser by Philip Goosen
mbed_official 0:879aa9d0247b 3
philipgoosen 3:3399899d714b 4 /*#define TX USBTX
philipgoosen 3:3399899d714b 5 #define RX USBRX*/
philipgoosen 3:3399899d714b 6
philipgoosen 4:178b04ae427e 7 #define TX PA_2
philipgoosen 4:178b04ae427e 8 #define RX PA_3
philipgoosen 2:dcca46d7ca21 9
philipgoosen 2:dcca46d7ca21 10 Serial pc(TX, RX); // tx, rx
philipgoosen 1:49996c8d2982 11 DigitalOut led(LED1);
mbed_official 0:879aa9d0247b 12
philipgoosen 6:da101b92bc2d 13 int isDigit(char digit)
philipgoosen 2:dcca46d7ca21 14 {
philipgoosen 2:dcca46d7ca21 15 if (digit >= '0' or digit <= '9')
philipgoosen 2:dcca46d7ca21 16 {
philipgoosen 2:dcca46d7ca21 17 return 1;
philipgoosen 2:dcca46d7ca21 18 }
philipgoosen 2:dcca46d7ca21 19 else
philipgoosen 2:dcca46d7ca21 20 {
philipgoosen 2:dcca46d7ca21 21 return 0;
philipgoosen 2:dcca46d7ca21 22 }
philipgoosen 2:dcca46d7ca21 23 }
philipgoosen 2:dcca46d7ca21 24
philipgoosen 5:1ba2b0e9e582 25 int isLetter(char let) // Only works for upper case
philipgoosen 5:1ba2b0e9e582 26 {
philipgoosen 5:1ba2b0e9e582 27 if (let >= 'A' or let <= 'Z')
philipgoosen 5:1ba2b0e9e582 28 {
philipgoosen 5:1ba2b0e9e582 29 return 1;
philipgoosen 5:1ba2b0e9e582 30 }
philipgoosen 6:da101b92bc2d 31 else
philipgoosen 6:da101b92bc2d 32 {
philipgoosen 6:da101b92bc2d 33 return 0;
philipgoosen 6:da101b92bc2d 34 }
philipgoosen 6:da101b92bc2d 35 }
philipgoosen 6:da101b92bc2d 36
philipgoosen 6:da101b92bc2d 37 int isAlpha(char c)
philipgoosen 6:da101b92bc2d 38 {
philipgoosen 6:da101b92bc2d 39 if( isDigit(c) or isLetter(c) )
philipgoosen 6:da101b92bc2d 40 {
philipgoosen 6:da101b92bc2d 41 return 1;
philipgoosen 6:da101b92bc2d 42 }
philipgoosen 6:da101b92bc2d 43 else
philipgoosen 6:da101b92bc2d 44 {
philipgoosen 6:da101b92bc2d 45 return 0;
philipgoosen 6:da101b92bc2d 46 }
philipgoosen 5:1ba2b0e9e582 47 }
philipgoosen 5:1ba2b0e9e582 48
philipgoosen 2:dcca46d7ca21 49 int toDigit(char c)
philipgoosen 2:dcca46d7ca21 50 {
philipgoosen 2:dcca46d7ca21 51 return (c - '0');
philipgoosen 2:dcca46d7ca21 52 }
philipgoosen 2:dcca46d7ca21 53
philipgoosen 2:dcca46d7ca21 54 int main()
philipgoosen 2:dcca46d7ca21 55 {
philipgoosen 6:da101b92bc2d 56 int motor = 0;
philipgoosen 6:da101b92bc2d 57 int direction = 0;
philipgoosen 6:da101b92bc2d 58 int speed = 0;
philipgoosen 6:da101b92bc2d 59
philipgoosen 1:49996c8d2982 60 led=1;
philipgoosen 1:49996c8d2982 61 wait(0.5);
philipgoosen 1:49996c8d2982 62 led=0;
philipgoosen 1:49996c8d2982 63 pc.baud(115200);
philipgoosen 2:dcca46d7ca21 64 pc.printf("Philip's program");
philipgoosen 2:dcca46d7ca21 65 while(1)
philipgoosen 2:dcca46d7ca21 66 {
philipgoosen 1:49996c8d2982 67 //pc.putc(pc.getc() + 1);
philipgoosen 4:178b04ae427e 68 if (pc.getc() == '$' && pc.getc() == '#')
philipgoosen 1:49996c8d2982 69 {
philipgoosen 4:178b04ae427e 70 /*led=1;
philipgoosen 1:49996c8d2982 71 wait(1);
philipgoosen 1:49996c8d2982 72 led=0;
philipgoosen 1:49996c8d2982 73 led=1;
philipgoosen 1:49996c8d2982 74 wait(1);
philipgoosen 4:178b04ae427e 75 led=0;*/
philipgoosen 2:dcca46d7ca21 76
philipgoosen 2:dcca46d7ca21 77 char c = pc.getc();// Gets a character from the computer that should be a digit from 0 - 9
philipgoosen 2:dcca46d7ca21 78
philipgoosen 6:da101b92bc2d 79 //int count = toDigit(c);
philipgoosen 2:dcca46d7ca21 80 int x = 0;
philipgoosen 2:dcca46d7ca21 81
philipgoosen 6:da101b92bc2d 82 while (x < 3)
philipgoosen 2:dcca46d7ca21 83 {
philipgoosen 2:dcca46d7ca21 84 pc.printf("%d ", x);
philipgoosen 3:3399899d714b 85 x++;
philipgoosen 2:dcca46d7ca21 86 }
philipgoosen 2:dcca46d7ca21 87 //while loop with counter
philipgoosen 1:49996c8d2982 88 }
mbed_official 0:879aa9d0247b 89 }
mbed_official 0:879aa9d0247b 90 }