【新手求教】信号通过MAX485进入单片机后怎么处理?

qq_38401954 2017-04-20 04:41:58
我有个测距雷达输出情况是
通讯接口:RS485
通讯地址:0x01
波特率: 9600
校验位: NONE
数据位: 8
停止位: 1

用串口助手在电脑上可以读出雷达的输出数据

例:A1DH01678RM089G
表示地址为 1,雷达距离目标 1678 毫米,反射强度 89dB
我现在想得到其中距离也就是1678

我想通过MAX485芯片连接到C51上,对这距离数据进行阈值比较。我有个问题想请教大家。
数据传到单片机上还是类似A1DH01678RM089G这样的形式还是二进制数据,如果是二进制或者其他形式的话怎么装换并提取其中的第五位到到第九位的数据?
...全文
802 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
a55555a55 2017-08-07
  • 打赏
  • 举报
回复
不管是485还是232,只是一个硬件电路,数据帧还是不会变的,
of123 2017-06-13
  • 打赏
  • 举报
回复
由于你在串口助手接收时选择的是 ASCII 字符显示,而不是十六进制显示,所以 A2DH01678RM089G = 0x41,0x32,0x44,0x48,0x30,0x31,0x36,0x37,0x38,0x52,0x4D,0x30,x038,x039,0x47 是不是一帧要看你在 C51 中的接收方式和设置了。 转换成数字的方法有很多种。可以截取字符串调用转换函数,也可以循环地将此域中每一字节减去 0x30 加到一个初始值为 0 的数字变量中,再乘以 10(个位不再乘了)。换言之,循环地将初始值为 0 的变量乘以 10 再就上一个字节减去 0x30。
farmanlinuxer 2017-06-12
  • 打赏
  • 举报
回复
A1DH01678RM089G 表示地址为 1,雷达距离目标 1678 毫米,反射强度 89dB 数据传到单片机上,正确接收了,是类似于“A1DH01678RM089G”的字符串。 从中提取距离数据的子串“ 01678”,转换成数字 1678,再和你设定的阈值比较。
kyzf 2017-04-27
  • 打赏
  • 举报
回复
最简单的办法:
1、继续用你的 串口调试助手,使能:16进制显示,就会显示接受的数据(16进制)


2、单片机收到的数据是16进制数;你可以在内存里定义一个数组,用来接收这一组数据;
worldy 2017-04-26
  • 打赏
  • 举报
回复
雷达芯片输出的是否是485数据?如果是, 你可以单片机+485接收模块接收,数据格式和你使用串口助手接收到的一模一样 查看雷达芯片的手册,是否确定5~9位是距离数据,如果确定,你接收到的数据后,提取5~9位数据即可,然后根据你的需要,是否将ascii数据转换为2进制数据
zgl7903 2017-04-21
  • 打赏
  • 举报
回复
引用 3 楼 qq_38401954 的回复:
[quote=引用 2 楼 zgl7903 的回复:] 485 就是半双工的232 上面说波特率是9600 但是贴图中是115200 波特率不对会出现接收不到或是乱码的情况
不好意思,我波特率改过了是115200,我想请教一下您 A2DH02874RM082G这一串数据是一帧吗? 传到单片机还是这样的形式吗? 我怎么把这一串数据中的02874这部分提取出来进行阈值比较?[/quote] 传到单片机也是一样的 由于格式是固定的, 因此可以用 A2DH 做同步头, G做同步尾, 中间的 atoi scanf 等都可以提取
qq_38401954 2017-04-21
  • 打赏
  • 举报
回复
引用 2 楼 zgl7903 的回复:
485 就是半双工的232 上面说波特率是9600 但是贴图中是115200 波特率不对会出现接收不到或是乱码的情况
不好意思,我波特率改过了是115200,我想请教一下您 A2DH02874RM082G这一串数据是一帧吗? 传到单片机还是这样的形式吗? 我怎么把这一串数据中的02874这部分提取出来进行阈值比较?
zgl7903 2017-04-21
  • 打赏
  • 举报
回复
485 就是半双工的232 上面说波特率是9600 但是贴图中是115200 波特率不对会出现接收不到或是乱码的情况
qq_38401954 2017-04-21
  • 打赏
  • 举报
回复
难道没有人吗?

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧