A serial parser for a specific project
Fork of Serial_HelloWorld_Mbed by
main.cpp@2:dcca46d7ca21, 2015-07-14 (annotated)
- 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?
User | Revision | Line number | New 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 | } |