电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
MODBUS 协议传感器读取数据?
已解决
73482
个问题
已帮助
5993
位优秀工程师
MODBUS 协议传感器读取数据?
18362201019
2018-04-29
浏览量:1428
前提:用STM32单片机串口读取RS232接口IMU传感器的数据,传感器与单片机之间的连接使用232转TTL。(相关电路工作正常)
我的操作:按照数据手册中的协议内容(如下图所示),用串口向IMU传感器发送字符数组(0x3a,0x0b......)(如下图),然后串口中断接收传感器发来的数据。
但是接收不到数据!!!!这是什么原因?
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
汉云
接收不到的原因有很多。
硬件上的连接是不是正确,电平是不是匹配等等。
软件上,串口配置 是不是正确。波特率是不是对等等。
可以先进行串口的自发自收进行测试
发布于
2018-05-01
举报
评论 0
0
0
其他答案
数量:
7
apleilx
看报文你用的是ASCII格式自定义命令,但你发送的字节序列里面包含非ASCII格式数据,肯定不对。
发布于
2018-04-29
举报
评论 2
0
0
18362201019
回复了 apleilx :啥意思,没明白你的意思,我向传感器发的就是手册上的那个字符型数组啊,(0x3a0x0b0x000x0b0x0d0x0a)
回复
apleilx
回复了 apleilx :0x0B0x00都是控制符,正常应该是字符串“:0B000B\r\n”另外还要注意奇偶校验和传感一样。
回复
donatello
MODBUS协议通信的数据格式都是hex十六进制格式的[0x3a 0x0b ...],不是字符数组["0x3a 0x0b..."],这两种格式完全不同,MODBUS的从机自然不能识别。
发布于
2018-04-29
举报
评论 1
0
0
18362201019
回复了 donatello :我发的就是hex十六进制格式的[0x3a 0x0b ...],unsigned char[6]=[0x3a 0x0b ...]我表述错了,可这样还是无法收到数据?
回复
great_CC
直接发送16进制数据字节;如果报文发送都没问题,要看下波特率等设置了,还有串口开启中断情况。
发布于
2018-04-29
举报
评论 0
0
0
sgf201
如果完全收不到任务数据,那模块应该都没有正常工作的,检查下模块的工作 状态,检查指令之前是否有其他依赖操作,另外,MODBUS是一套协议,不是单指令的,至少它是有检测是否在线的内容的,使用前建议仔细阅读
发布于
2018-04-30
举报
评论 0
0
0
请输入用户名
报文是否正常;看下模块那边是什么都没收到还是收到的认为不对丢掉了;串口设置对不对,这个也要查一下。
发布于
2018-04-30
举报
评论 0
0
0
勇哥来巡山
先确定你的协议是否有问题,再确定你的数据是否正常,再检查你的主从站设置是否正确,需要逐级排查
发布于
2018-05-01
举报
评论 0
0
0
我是假管贴胸小助手
检查你的串口的波特率是否匹配,其次就是你要发送的读数据指令报文是按照16进制的数组发送,实在读不出数据,教你一个简单的办法,手里应该有USB转COM模块吧,在电脑上下载一个串口调试助手,先使用串口助手调试通,在再芯片上进行操作。
发布于
2018-05-02
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
MODBUS 协议传感器读取数据?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: