test

Dependencies:   SoftSerial mbed

Revision:
0:4beb82efd0cf
Child:
1:44d613ff2e6c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Oct 18 13:19:25 2017 +0000
@@ -0,0 +1,64 @@
+#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",201-sum1/2);j=0;sum1=0;}
+            }
+        }
+    }
+}
\ No newline at end of file