USART处理激光雷达数据

2019-07-20 22:45发布

本帖最后由 理所当然地忘记 于 2018-4-23 16:20 编辑

用STM32做激光雷达小车避障,这几天学习了库函数开发,现在想问一下怎么将激光雷达的数据接受过来然后处理,激光雷达的一帧数据很多,怎么读取呢?例如激光雷达的一帧数据如下:
测量数据帧:
AA 00 49 00 61 AD 00 41 83 00 00 08 CA 43 04 D5 4E 04 D0 48 04 D2 4D 04 D3 50 04 D6
3F 04 CF 5F 04 C4 5E 04 C9 70 04 CE 5C 04 D2 43 04 D1 44 04 D2 46 04 D0 4E 04 D3 51
04 D1 48 04 CF 44 04 D4 46 04 D2 52 04 D3 4B 04 CD 2A B7


AA: 帧头标识。
00 49: 帧长度为0x0049( 即73) 字节(不包含CRC 码)
00: 地址码。
61: 帧类型。
AD: 命令字。
00 41: 有效数据长度0x0041(65 B ytes)。
83: 转速值,0x83 即 131 * 0.05 = 6.55r /s
00 00: 零点偏移量, 有符号十六位数,0x0000/100 = 0.0°
08 CA:本帧起始角度0x08CA(2250),即当前角度是2250/100 + 0.0° ( 零点偏移量) = 22.5°
43: 距离值1 对应的信号强度:67
04 D5: 距离值1 是0x04D5(1237), 实际距离是1237*0.25 = 309.25mm。
…….
4B: 距离值20 对应的信号强度:75
04 CD: 距离值20 是0x04CD(1229), 实际距离是1229*0.25 = 307.25mm。
2A B7: CRC 校验码。


如何读取这一帧的数据及其以后的每一帧数据呢。。。。??????????
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
dyhfaily
1楼-- · 2019-07-21 03:49
 精彩回答 2  元偷偷看……
dyhfaily
2楼-- · 2019-07-21 05:47
抱歉 没有看到下面内容
正点原子
3楼-- · 2019-07-21 08:09
串口接收,有间隔就行了,判断间隔。 buf设置大一点,就可以接收所有数据了。 很简单的数据处理。
liaoliaoliao
4楼-- · 2019-07-21 10:22
楼主  搞定了没

一周热门 更多>