MODBUS通讯——MFC与stm32互联

到这里不再管屏幕发送这块逻辑了,用温度那一部分的03H功能码的一段代码读流量计,也没反应。

板子与电流测量卡的MODBUS通讯已经建立起来,排除这方面的错误。

1. 翻通讯手册发现波特率和地址位默认的是19200和未知,去找上位机帮忙修改波特率9600、地址33(21H)

2. 询问商家,告知默认通讯是商家自己的MFC协议,去找上位机改成标准的MODBUS YH,奇偶校验选none

还是通讯不上,所以放弃单片机调试,直接用ss串口助手开始测

在这里没仔细看说明书就开始想当然接线,以为MFC只是遵循MODBUS协议,输出还需要过一步ttl转485,然后再去接485转usb。

一开始没管DE、RE这两个使能管脚,没有反应。之后把两根线接入到我单片机自己创造的一个方波上,有杂乱信号了。后来排查应该是没有共地得到的干扰。

3. 求助亦宸和我一起分析,在文档15页发现管脚有效的是1,3,4。很恰好的是,我买的6p6c的rj11转MODBUS发出来的线只给了三根,而且是234。另外,文档中输出的信号直接是485格式,所以无需另外转485

接下来:

1. 拿到线,把134对应的线接好,用PC端测试,保证可以通讯上

2. 然后用单片机写一个03H指令的报文,看能否收到。

3. 确定一下发送对应的06H指令报文,验证06H报文的正确性

4. 上stm32

连接:

RJ11的134,需要看对应线厂家的接口,看引出来到哪,对应的哪三根线。

更新:上午问了厂家,可以对应134→532,到时候记得不接错就行。

从AB出来接485转USB。差分信号不需要共地?那2和4的地分别跟谁共?有待研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值