打印

【MAX485】请教一下通信中存在的问题

[复制链接]
1888|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
申小林一号|  楼主 | 2014-7-10 22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在MAX485通信的时候,用电脑发送的时候数据时正常的,但是GD32,向上位机发送的时候总是间断性的在首位多出0x00出来,我查了一些资料也问了一些人,有的说是120欧姆的匹配电阻问题,还有的说是MAX485在做发送和接受模式转换的时候会出现这个问题,稍加延时即可,我按照上述解决方案都做了,但是还是偶尔出现这一问题,请问能有人帮忙彻底解决这个问题么?
沙发
xufei043| | 2014-7-11 09:44 | 只看该作者
在执行485发送命令时,需要控制Dir=1,稍作延时,再执行发送函数,数据发送结束后,将Dir=0,保持485为接收状态。

使用特权

评论回复
板凳
airwill| | 2014-7-12 21:03 | 只看该作者
本人以前在做 STM32 与 pc 的 485 通信, 没有出现过这个多出开始0 的问题.
我怀疑很可能是发送, 甚至 pc 端软件的 bug 引起的.

使用特权

评论回复
地板
申小林一号|  楼主 | 2014-7-12 21:23 | 只看该作者
airwill 发表于 2014-7-12 21:03
本人以前在做 STM32 与 pc 的 485 通信, 没有出现过这个多出开始0 的问题.
我怀疑很可能是发送, 甚至 pc 端 ...

我在用51单片机的时候就没有出现这种现象,所以软件应该不会有问题的

使用特权

评论回复
5
申小林一号|  楼主 | 2014-7-12 21:23 | 只看该作者
xufei043 发表于 2014-7-11 09:44
在执行485发送命令时,需要控制Dir=1,稍作延时,再执行发送函数,数据发送结束后,将Dir=0,保持485为接收 ...

这个当然知道,不然的话计算机不会接收到命令,单片机也不会做出应答

使用特权

评论回复
6
kekeke| | 2014-7-16 08:24 | 只看该作者
GD32的传回发送完需要加个小小的延时,你看看GD32的串口说明就知道了

使用特权

评论回复
7
denvice| | 2014-7-17 21:57 | 只看该作者
你用示波器抓一下485的差分信号相减看一下实际波形吧。然后就是由于GD的指令执行更快,你使能发送后延时加长一点。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

818

帖子

2

粉丝