您好,我现在有个激光雷达,是通过UART协议与单片机通信...-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 518|回复: 9

[未解决] 您好,我现在有个激光雷达,是通过UART协议与单片机通信...

[复制链接]
发表于 2022-4-12 18:12 | 显示全部楼层 |阅读模式
您好,我现在有个激光雷达,是通过UART协议与单片机通信的,现在有个问题就是,如何编写程序从单片机读取到雷达传输过来的16进制数据存入数组或者显示在串口监视器中
 楼主| 发表于 2022-4-12 18:14 | 显示全部楼层
在网上找过很多程序 但是用上不是乱码就是数据有问题,主要是从激光雷达获取到它传输的十六进制数据后就能根据数据手册处理数据勒,现在的问题就是怎么编写程序从单片机io口读取激光雷达传输过来的数据,激光雷达是通过UART和外部通信的
发表于 2022-4-12 20:11 | 显示全部楼层
本帖最后由 kpj001 于 2022-4-12 20:16 编辑

你这相当于在医生面前喊痛啊痛。。。就是不说具体哪里痛。
实物图片,连接图,传感器型号,开发板型号,卖家例程,你找的程序,啥都没有。编程虽然是个智力活动,但也不是嘴说说就清楚了。
对于新手,身边还没指导老师的,不是随便买个冷门传感器去找程序,而是找到合适的搭建文章,再按文章去买零件,这样可以保证实验成功。
实在觉得描述问题困难,你就先看看 https://blog.csdn.net/jiangge12/article/details/123668138
其中有提到:
  while (Serial.available() > 0)        // 检查串口是否有数据,有就一个一个字符读出来,合并为字符串 str
  {                 
    str += char(Serial.read());
    delay(2);
  }


发表于 2022-4-13 07:56 | 显示全部楼层
所以你的问题是:arduino 读取到的激光雷达数值是错误的?
发表于 2022-4-13 08:45 | 显示全部楼层
首先你的串口波特率和雷达的波特率要一致,具体怎么解析数据要看激光雷达的数据手册中数据怎么定义
 楼主| 发表于 2022-4-14 17:12 | 显示全部楼层
myself1820 发表于 2022-4-13 08:45
首先你的串口波特率和雷达的波特率要一致,具体怎么解析数据要看激光雷达的数据手册中数据怎么定义 ...

串口波特率都是一致的,但是输出的数据就是有问题。在专门的串口软件输出的数据又是正常的十六进制
 楼主| 发表于 2022-4-14 17:17 | 显示全部楼层
myself1820 发表于 2022-4-13 08:45
首先你的串口波特率和雷达的波特率要一致,具体怎么解析数据要看激光雷达的数据手册中数据怎么定义 ...

是一致的 雷达输出的是一串16进制的数据 就是不知道该怎么写程序
 楼主| 发表于 2022-4-14 18:13 | 显示全部楼层
Zoologist 发表于 2022-4-13 07:56
所以你的问题是:arduino 读取到的激光雷达数值是错误的?

问题是应该怎么从arduino的io口读取十六进制数据存入定义的数组中
 楼主| 发表于 2022-4-14 18:13 | 显示全部楼层
张万森 发表于 2022-4-14 17:17
是一致的 雷达输出的是一串16进制的数据 就是不知道该怎么写程序

雷达的波特率是230400 我用的arduino uno是不是不支持这么高的波特率
发表于 2022-4-14 19:27 | 显示全部楼层
张万森 发表于 2022-4-14 18:13
雷达的波特率是230400 我用的arduino uno是不是不支持这么高的波特率

那是有点高唉,通常都是 115200这种

uno 我不确定

esp32 肯定可以
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:30 , Processed in 0.071626 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表