Dewant Katare
/
Hexi_Serial_Example
Serial Example for hexiwear
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Tue Jul 12 2022 17:00:09 by 1.7.2