Serial port reader

Dependencies:   C12832_lcd iSerial mbed

Committer:
40125682
Date:
Tue Apr 19 21:38:28 2016 +0000
Revision:
0:8d267ff223f0
Serial port reader;

Who changed what in which revision?

UserRevisionLine numberNew 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