OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3369|回复: 3

新手求救 stm32 串口接收modbus rtu crc16 测距传感器

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-5-5
在线时间
18 小时
发表于 2020-4-12 12:54:36 | 显示全部楼层 |阅读模式
15金钱
本人是新手,买了一个激光测距传感器   modbus rtu   crc16     上电自动发送ascii码    例如收到:   ~ 01030100019AC5CD  

~是起始位  01030100019A是有效帧码      C5CD 是crc16 效验         测量数据是019A    是十六进制形式 表示测量结果是0x019A
转成十进制就是我要的结果410mm,  

  本人用stm32f103 现在的问题我要解析,是否要将ascii码转成十六进制,不转的话怎么提取 019A 这几位
并将019A转成0x019A  lcd显示410mm,     

网上好多例程没有起始位 。

我现在要去掉起始位,要剩下的有效数据,程序怎么写         望各位前辈帮帮小弟

最佳答案

查看完整内容[请看2#楼]

strstr sscanf配合用就好了 参考字符串帧 http://www.openedv.com/forum.php?mod=viewthread&tid=301408&extra=
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-4-12 12:54:37 | 显示全部楼层
回复

使用道具 举报

13

主题

271

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5387
金钱
5387
注册时间
2017-8-14
在线时间
248 小时
发表于 2020-4-15 11:17:24 | 显示全部楼层
本帖最后由 zml13917492379 于 2020-4-15 11:39 编辑

您好,把 设备 都 寄给我,我帮你 弄好,提供源程序,保证通过,收点 小费

这是 我帮 一个客户 开发的  驱动源程序连接:
http://www.openedv.com/thread-309267-1-1.html

或参见 链接,自己搞

http://www.openedv.com/forum.php ... 1&extra=#pid1011720
详细资料扣扣群204408503自行下载
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-8-23
在线时间
11 小时
发表于 2020-4-15 13:18:59 | 显示全部楼层
你提供的这个报文是由modbus衍生而来的,可能是2个字节满足不了距离
如果要摈弃掉起始位的话,你可以在串口接收中进行判断 地址+功能码+字节大小 + 三个字节 +CRC校验
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-2 12:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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