CHEN BING-YANG
/
VL53L0X_test
test
main.cpp
- Committer:
- qwer7ttw
- Date:
- 2017-10-18
- Revision:
- 1:44d613ff2e6c
- Parent:
- 0:4beb82efd0cf
File content as of revision 1:44d613ff2e6c:
#include "mbed.h" #include "SoftSerial.h" Serial pc(SERIAL_TX, SERIAL_RX); Serial mySerial(PC_10,PC_11); int main() { unsigned char re_Buf[11], counter = 0; unsigned char sign = 0; int data_Buf[3] = {0}; uint16_t distance = 0; unsigned char i = 0, sum = 0; int sum1=0; int j=0; int writes[3]={0xA5,0x53,0xF8}; mySerial.baud(9600); while(1) { if(mySerial.writeable()) { mySerial.putc(0xA5); mySerial.putc(0x52); mySerial.putc(0xF7); break; } wait(0.01); } while(1){ i = 0, sum = 0; distance =0; while (mySerial.readable()) { re_Buf[counter] = (unsigned char)mySerial.getc(); if (counter == 0 && re_Buf[0] != 0x5A) return; counter++; if (counter == 8) // Enough Data available? { counter = 0; // Get Ready for the next stream sign = 1; break; } } if (sign) { sign = 0; for (i = 0; i < 7; i++) sum += re_Buf[i]; if (sum == re_Buf[i] ) // Check Header { data_Buf[0] = re_Buf[4]; data_Buf[1] = re_Buf[5]; data_Buf[2] = re_Buf[6]; distance = data_Buf[0] << 8 | data_Buf[1]; sum1+=distance; j++; if(j==2) {pc.printf("distance: %dmm\n",sum1/2);j=0;sum1=0;} } } } }