完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用ModBus Poll和单片机通信遇到的2个问题
基于单片机STM32F103ZET6最小系统板,使用安富莱公司V4开发板的ModBus例程,通过ModBus Poll软件,配合两个6合1的串口工具,实现ModBUs Poll上位机和单片机的通信,记录一下遇到2个的问题。 最近需要需要用到ModBus协议,因此在网上买了两个6合1的串口工具,支持USB转TTL、232、484和 TTL转232、484等;下图是模块的一个功能简介 开发板与6合1串口的照片 简单描述一下我遇到的第一个问题:通过使用安富莱的V4开发板的ModBus例程,实现和ModBus Poll通信后,软件提示Insufficient Byte,在ModBus Poll软件的Communication对话框中查看发送和接收的数据流,发现接收到的数据比单片机发送的数据少了一个字节,经过分析感觉可能是奇偶校验的问题 (交流学习用,如有侵权请联系我删除) 通过在单片机代码中修改串口为偶校验后,数据不再少字节,可以确定就是因为ModBus Poll 的奇偶校验与单片机串口奇偶校验不一致导致的Insufficient Byte 修改过奇偶校验方式后,ModBus Poll又提示illegal data Address数据地址不合法,我核对了一下单片机代码中的寄存器地址,发现没有错误呀! 然后我又在ModBus Poll中查看我设置的读取参数,发现我用01H方式读取了5个寄存器,而单片机代码中仅仅定义了3个寄存器,因此超出了地址,提示数据地址不合法 将ModBus Poll中的寄存器读取的个数更改一下,即可正常读取 记录一下第一次使用ModBus调试软件和单片机进行通信遇到的2个小问题,图片和相关代码仅仅交流学习用,如有侵权请联系我删除 |
|
|
|
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1148浏览 2评论
747浏览 1评论
500浏览 0评论
266浏览 0评论
429浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 19:48 , Processed in 1.258407 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号