找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
你有多少从站?
我做过用CP340 MODBUS RTU格式的通讯!用340的话波特率只能9600,轮询速率可80MS一次,不知道能满足你数据实时性要求不?
1.地址轮询:用定时器比如0.15S间隔一次加次1(比如VW0),地址加到1即为从站1,加到2即为从站2,。。。加到N为止然后重新开始轮询!往复循环。
2.CRC校验子程序:大概了解CRC数学原理即可,没必要弄清其推导过程,MODBUS通讯协议说明上有个CRC16校验过程顺序共有约6步搞明白就行!其实就是左移位,遇到0继续移位,遇到1与多项式系数异或,直到八位结束;下个字节重复。。。
3.按照协议处理发送、接受过程!一般是发送一次计数一次,如果成功返回数据即把该计数清零;如果计数超过5次就判定通讯故障!
记住:发送要把CRC校验加进去并注意顺序。接收时要把返回的CRC和计算的CRC做个比较如果相等说明返回数据正确,否则此数据拒收!估计用到03读、06写功能。
给个邮箱发个例子供你参考!
祝你成功!
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!