2021-11-08 20:18:26 索煒達電子 743
項目編號:E2241
文件大?。?K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述
波特率115200,8數(shù)據(jù)位,一停止位,無校驗位。
03 08 79 4E F3 B5 0B 02 3B 03 02 59 F7 01 B4 F6 01 CC F0 01 01 E8 01 B7 DC 01 2C 00 80 00 89 B7 81 3E 55 AA
說一下,有的人可能以55為開頭,這樣就有四個固定的頭,但這樣沒有尾部,感覺不太可能, 也可能是三個固定頭,一個固定尾,但這都不是重點,這個只是劃分數(shù)據(jù)幀的一個依據(jù)。頭尾對半分,誰都不吃虧。
每個數(shù)據(jù)幀包含8個距離信息,每個距離所對應(yīng)的角度為 angle = startAngle+stepAngle*N;
其中(N=0,1,……,7);stepAngle = (endAngle - startAngle)/8.0;(if(endAngle<startAngle) endAngle += 360.0;) 每個距離信息包括距離和可信度兩個數(shù)據(jù)。
每一個數(shù)據(jù)幀共36字節(jié),包含的信息依次為:
數(shù)據(jù)頭兩字節(jié),固定值:0x03,0x08。 buffer[0] == 0x03 ,buffer[1] == 0x08;
轉(zhuǎn)速信息一字節(jié):buffer[2];
未知信息一字節(jié),固定值:0x4E。buffer[3] == 0x4E;根據(jù)淘寶的一位買家的疑問,這里可能不是固定的0X4E,這里感謝這位買家(ID:西伯****狗)。 然后解釋一下,我這里是根據(jù),正常運行、全部遮擋運行,卡住不讓轉(zhuǎn),加阻力使其轉(zhuǎn)速過低,這幾種情況下,這一字節(jié)都為)0x4E,所以我才說的是固定值。
此數(shù)據(jù)幀的起始角度兩字節(jié):startAngle = (buffer[5]<<8 | buffer[4])/64.0 - 640.0;
距離信息一 distance = buffer[7]<<8 | buffer[6]; quality = buffer[8];
距離信息二 distance = buffer[10]<<8 | buffer[9]; quality = buffer[11];
距離信息三 distance = buffer[13]<<8 | buffer[12]; quality = buffer[14];
距離信息四 distance = buffer[16]<<8 | buffer[15]; quality = buffer[17];
距離信息五 distance = buffer[19]<<8 | buffer[18]; quality = buffer[20];
距離信息六 distance = buffer[22]<<8 | buffer[21]; quality = buffer[23];
距離信息七 distance = buffer[25]<<8 | buffer[24]; quality = buffer[26];
距離信息八 distance = buffer[28]<<8 | buffer[27]; quality = buffer[29];
此數(shù)據(jù)幀的結(jié)束角度兩字節(jié):endAngle = (buffer[31]<<8 | buffer[30])/64.0 - 640.0 ; 校驗位兩字節(jié):buffer[32],buffer[33]; 數(shù)據(jù)尾兩字節(jié),固定值:0x55,0xAA。 buffer[34] == 0x55 ,buffer[35] == 0xAA。
具體代碼也有,另一個文件就是我的數(shù)據(jù)接收以及處理函數(shù),C語言,STM32F103ZET6單片
目錄│文件列表:
└ Camsense_X1
└ uart.c