Serial port reader
Dependencies: C12832_lcd iSerial mbed
main.cpp@0:8d267ff223f0, 2016-04-19 (annotated)
- Committer:
- 40125682
- Date:
- Tue Apr 19 21:38:28 2016 +0000
- Revision:
- 0:8d267ff223f0
Serial port reader;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
40125682 | 0:8d267ff223f0 | 1 | #include "mbed.h" |
40125682 | 0:8d267ff223f0 | 2 | #include "C12832_lcd.h" |
40125682 | 0:8d267ff223f0 | 3 | #include "stdio.h" |
40125682 | 0:8d267ff223f0 | 4 | #include "string.h" |
40125682 | 0:8d267ff223f0 | 5 | #include "stdint.h" |
40125682 | 0:8d267ff223f0 | 6 | #include "stdlib.h" |
40125682 | 0:8d267ff223f0 | 7 | #include "time.h" |
40125682 | 0:8d267ff223f0 | 8 | |
40125682 | 0:8d267ff223f0 | 9 | C12832_LCD lcd; |
40125682 | 0:8d267ff223f0 | 10 | Serial pc(USBTX, USBRX); |
40125682 | 0:8d267ff223f0 | 11 | |
40125682 | 0:8d267ff223f0 | 12 | char testStringBuffer[150]; |
40125682 | 0:8d267ff223f0 | 13 | |
40125682 | 0:8d267ff223f0 | 14 | #define NUM_FIELDS (12) |
40125682 | 0:8d267ff223f0 | 15 | char* pFields[NUM_FIELDS]; |
40125682 | 0:8d267ff223f0 | 16 | |
40125682 | 0:8d267ff223f0 | 17 | void ParseFields(char* inputBuffer, char** pFields, uint32_t numFields, char* delimiterChars) |
40125682 | 0:8d267ff223f0 | 18 | { |
40125682 | 0:8d267ff223f0 | 19 | char* pString = inputBuffer; |
40125682 | 0:8d267ff223f0 | 20 | char* pField; |
40125682 | 0:8d267ff223f0 | 21 | |
40125682 | 0:8d267ff223f0 | 22 | for(uint32_t i=0; i<numFields; i++) |
40125682 | 0:8d267ff223f0 | 23 | { |
40125682 | 0:8d267ff223f0 | 24 | pField = strtok(pString, delimiterChars); |
40125682 | 0:8d267ff223f0 | 25 | |
40125682 | 0:8d267ff223f0 | 26 | if(pField != NULL) |
40125682 | 0:8d267ff223f0 | 27 | { |
40125682 | 0:8d267ff223f0 | 28 | pFields[i] = pField; |
40125682 | 0:8d267ff223f0 | 29 | } |
40125682 | 0:8d267ff223f0 | 30 | else |
40125682 | 0:8d267ff223f0 | 31 | { |
40125682 | 0:8d267ff223f0 | 32 | pFields[i] = ""; |
40125682 | 0:8d267ff223f0 | 33 | } |
40125682 | 0:8d267ff223f0 | 34 | |
40125682 | 0:8d267ff223f0 | 35 | pString = NULL; |
40125682 | 0:8d267ff223f0 | 36 | } |
40125682 | 0:8d267ff223f0 | 37 | } |
40125682 | 0:8d267ff223f0 | 38 | |
40125682 | 0:8d267ff223f0 | 39 | int main(int argc, char* argv[]) |
40125682 | 0:8d267ff223f0 | 40 | { |
40125682 | 0:8d267ff223f0 | 41 | pc.baud(4800); |
40125682 | 0:8d267ff223f0 | 42 | |
40125682 | 0:8d267ff223f0 | 43 | while(1) |
40125682 | 0:8d267ff223f0 | 44 | { |
40125682 | 0:8d267ff223f0 | 45 | pc.scanf("&s", &testStringBuffer); |
40125682 | 0:8d267ff223f0 | 46 | ParseFields(testStringBuffer, pFields, NUM_FIELDS, ","); |
40125682 | 0:8d267ff223f0 | 47 | lcd.cls(); |
40125682 | 0:8d267ff223f0 | 48 | lcd.locate (0,0); |
40125682 | 0:8d267ff223f0 | 49 | lcd.printf("%s", pFields[1]); |
40125682 | 0:8d267ff223f0 | 50 | } |
40125682 | 0:8d267ff223f0 | 51 | |
40125682 | 0:8d267ff223f0 | 52 | return 0; |
40125682 | 0:8d267ff223f0 | 53 | } |
40125682 | 0:8d267ff223f0 | 54 | |
40125682 | 0:8d267ff223f0 | 55 | |
40125682 | 0:8d267ff223f0 | 56 | |
40125682 | 0:8d267ff223f0 | 57 |