搜索
bottom↓
回复: 24

Modbus调试,我快疯了,兄弟们帮我看看是怎么回事吧

[复制链接]

出0入0汤圆

发表于 2010-11-11 16:57:22 | 显示全部楼层 |阅读模式
用串口调试助手
发送数据:
14 03 00 02 00 03 CE A6
程序收到数据是正确的

程序回应数据:
14 03 06 00 56 78 9A 6B 91

示波器观察到的波形:
10 00101000 10 11000000 10 01100000 10 00000000 10 01101010 10 10001110 10 01011001 。。。。。。

单片机串口寄存器设置是8位数据位 1个停止位 无校验位

串口调试助手发送波特率19200
设置为8位数据位 1个停止位 无校验位的时候
接收到:94 80 10 C8 05 C2 01 DA ED

设置为7位数据位 1个停止位 无校验位的时候
接收到:14 03 06 00 16 00 38 00 5A 2B 7F

我都郁闷了  哪位兄弟帮我分析一下啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-11-11 16:59:32 | 显示全部楼层
示波器看到的波形和程序发送的数据是对应的
但是串口调试助手收到的数据,就有问题了 日了

出0入0汤圆

发表于 2010-11-11 17:53:05 | 显示全部楼层
不太可能 是不是 那里设置错了 或是 没有有效供地。

出0入0汤圆

发表于 2010-11-11 17:53:46 | 显示全部楼层
以前出现串口线 地线不通 也会出现这种数据乱的情况

出0入0汤圆

 楼主| 发表于 2010-11-11 19:53:46 | 显示全部楼层
那我得回去检查一下,应该不会吧 我是通过一个RS232-RS485转换器接的  接了A、B、GND、5V
而且这个电路,在别人的产品上我也见过一模一样的啊

出0入0汤圆

 楼主| 发表于 2010-11-12 11:55:44 | 显示全部楼层
地线没有问题。。
快崩溃了

出0入0汤圆

发表于 2010-11-12 12:01:30 | 显示全部楼层
换一个别的牌子的转换器试试,最好是有源的,工业级的

个人感觉是转换器的收发转换有延时造成的,或者软件上人为的延时3~5ms后再发送数据试试

出0入0汤圆

 楼主| 发表于 2010-11-12 13:16:04 | 显示全部楼层
回复【6楼】zhao_pc0305  
-----------------------------------------------------------------------

好的 我这就试
转换器我有两个 是同一个牌子的 先加一个延时试试吧

出0入0汤圆

发表于 2010-11-12 13:56:12 | 显示全部楼层
我做modbus时,波特率是9600的,见过很多modbus通信都是9600的。
另外,modbus就是一串口通信,没难度啊。重要是数据 帧与帧之间的时间T控制:1.5char<T<3.5char

出0入0汤圆

发表于 2010-11-12 13:59:02 | 显示全部楼层
停止位2位试试

出0入0汤圆

 楼主| 发表于 2010-11-15 10:31:16 | 显示全部楼层
回复【8楼】cool33777612  
-----------------------------------------------------------------------

我也觉得没难度啊
SPI、USART我都用过,都好用的
就是和电脑通讯这块 就是弄不好了  日了

出0入0汤圆

 楼主| 发表于 2010-11-15 10:32:27 | 显示全部楼层
回复【9楼】sunke9  小可歌
-----------------------------------------------------------------------

依然不好用

我现在只用单片机给电脑发送数据,不接受数据 还他娘的不好用 郁闷了

出0入0汤圆

 楼主| 发表于 2010-11-17 09:13:32 | 显示全部楼层
本来以为可能是485接口转换器的原因
换了一个别的牌子的还是不好用

现在只能怀疑波特率偏差了
电脑端的估计问题不大,我单片机用的是内部RC震荡,8M
不知道是不是这个震荡不准导致的
郁闷了

出0入0汤圆

发表于 2010-11-17 09:18:18 | 显示全部楼层
用内部RC震荡,8M ,必须注意:
         确保得到的波特率的误差不要超过3%,否则通讯可能有问题。

   实验时,最好还是使用11.0592MHZ的外部晶体振荡器吧!

出0入0汤圆

发表于 2010-11-17 10:29:19 | 显示全部楼层
内振不可靠,还是外振吧

出0入0汤圆

发表于 2010-11-17 11:18:13 | 显示全部楼层
首先排除串口调试助手的设置问题,比如发送接收设置的不匹配;再就考虑换个串口通讯软件试试,我碰到过同一个终端,不同软件接收数据不同的现象;最后再考虑硬件问题

出0入0汤圆

发表于 2010-11-17 12:17:25 | 显示全部楼层
用逻辑分析仪看看波形吧,232,485都可以解码看到字节内容,这样好查一些。

(原文件名:adpter22.jpg)

出0入0汤圆

发表于 2010-11-17 12:38:08 | 显示全部楼层
用11。0592的外振没有出现数据出错的现象。

出0入0汤圆

 楼主| 发表于 2010-11-17 16:38:37 | 显示全部楼层
恩  谢谢这几位兄弟

我手头只有3.6864M的晶振

换上去了

立竿见影啊,,

眼泪哗哗的 终于好使了~~~~~~~~~~~

出0入0汤圆

 楼主| 发表于 2010-11-17 16:40:26 | 显示全部楼层
其实开始的时候也怀疑过晶振的问题
后来就问了下单位一个比较老的工程师
他言之凿凿的说没问题,所以我也就没换晶振
看来老工程师也有失误的时候啊

这个经验这辈子都忘不了啊

出0入0汤圆

发表于 2012-9-24 21:57:41 | 显示全部楼层
mark 串口晶振,逻辑分析仪,MODBUS

出0入0汤圆

发表于 2013-1-2 13:26:57 | 显示全部楼层
学习一下
头像被屏蔽

出0入0汤圆

发表于 2013-1-2 15:59:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2013-3-13 13:29:42 | 显示全部楼层
学习了!!!先mark

出0入0汤圆

发表于 2013-7-23 12:21:07 | 显示全部楼层
mark一下。。。经验贴!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 01:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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