Serial Example for hexiwear

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 Serial pc( USBTX, USBRX);
00004 Serial uart(PTD3,PTD2); //Tx, Rx (D1, D0)
00005 
00006 typedef unsigned char byte;
00007 
00008 uint8_t cmd_get_sensor[] = {0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79};
00009 int temperature;
00010 int Co2PPM;
00011 
00012 bool Received_data()
00013 {
00014     return true;
00015 }
00016 
00017 void init()
00018 {
00019     pc.printf("\r\nFirst Loop");
00020     uint8_t data[9];
00021     uint8_t cd[9];
00022     int i=0;
00023     for(i=0; i<sizeof(cmd_get_sensor); i++) {
00024         //cd[i] = uart.putc(cmd_get_sensor[i]);
00025         data[i] = uart.getc();
00026         pc.printf("\n\r val: ", data);
00027     }
00028     
00029    /* pc.printf("\r\nHere in first loop:");
00030     for(int i=0; i<9; i++) {
00031         //Printing uart values to confirm
00032         pc.printf("\r\nwritten value[%d]: %u\n",i, cd[i]);
00033     }*/
00034     
00035     pc.printf("\r\n");
00036     
00037     pc.printf("\r\n********************************************\r\n");
00038     pc.printf("\r\nHere reading values:");
00039     for(int i=0; i<9; i++) {
00040         pc.printf("\r\nRead value[%d]: %u\n",i, data[i]);
00041     }
00042 
00043    /* if((i !=9)||(1 + (0xff^(byte) (data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7]))) != data[8]) {
00044         return false;
00045     }*/
00046     Co2PPM = data[2] * 256 + data[3];
00047     temperature = data[4] - 40;
00048         pc.printf("\r\nSecond Loop");
00049         pc.printf("\r\nTemperature: %d\n", temperature);
00050         pc.printf("\r\nCo2:  %d\n", Co2PPM);
00051         wait(1);
00052 }
00053 
00054 int main()
00055 {
00056     while(1) {
00057         uart.baud(9600);
00058         pc.baud(115200);
00059         pc.printf("\r\nReading data from Co2 Sensor:\n");
00060         pc.printf("\r\n************************************\n");
00061         init();
00062         pc.printf("\r\nend");
00063         }
00064 }