打印

485中断模式中,使能脚在由接收切换为发送时需要延时吗?

[复制链接]
2000|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaoruisolax|  楼主 | 2018-12-11 17:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手,请各位大神指点一二,非常感激!

目前485应用Modbus通信。但是出现在上位机无间断请求时丢包率447次。测试给10ms的延时时,丢包率不超过2次。(以请求5000次为例)

我在处理中断发送之前,拉高使能脚电平会延时1ms。中断发送完成再拉低使能脚电平。

想不出和这1ms延时有什么关系。之前抓波形都没有丢包率的,可是客户那边出现了这个情况。

相关帖子

沙发
mohanwei| | 2018-12-11 17:52 | 只看该作者
不需要。
很可能是你把“发送完”理解错了。把最后一字节放入发送寄存器,仅仅是开始发送(最后1字节的起始位、8位数据位、校验位、停止位依次发送),并不是发送完成。

使用特权

评论回复
板凳
gaoruisolax|  楼主 | 2018-12-11 19:32 | 只看该作者
mohanwei 发表于 2018-12-11 17:52
不需要。
很可能是你把“发送完”理解错了。把最后一字节放入发送寄存器,仅仅是开始发送(最后1字节的起始 ...

为什么不需要呢?
我理解你所说的“发送完”,但是这个延时是在开始发送之前,我看有篇**说要在开始发送之前延时1ms~2ms,不然发送的都是乱码。

我用示波器抓波形,确实不需要延时。但是有1ms延时的,波形只有680微秒延时;没有1ms延时的,波形有20微秒的延时(使能电平转换为高的上升沿和开始发送数据的下降沿之间的时间差)。

使用特权

评论回复
地板
zyj9490| | 2018-12-11 21:45 | 只看该作者
gaoruisolax 发表于 2018-12-11 19:32
为什么不需要呢?
我理解你所说的“发送完”,但是这个延时是在开始发送之前,我看有篇**说要在开始发 ...

应用最后一位送上总线的中断产生开始延时,就可以了。

使用特权

评论回复
5
619888476| | 2018-12-11 22:21 | 只看该作者
接收切换为发送时需要延迟,可以示波器查看波形进行分析

使用特权

评论回复
6
一事无成就是我| | 2018-12-11 23:08 | 只看该作者
开启发送不基本不需要延时,发送完毕后需要延时至少4个字节时间,否则数据可能发送不完整,因为中断后数据不一定已经发出,只能说明发送的BUF空。

使用特权

评论回复
7
laocuo1142| | 2018-12-12 14:45 | 只看该作者
发送完需要延时

使用特权

评论回复
8
gaoruisolax|  楼主 | 2018-12-13 09:24 | 只看该作者
我明白各位大神的意思了,谢谢大家的积极帮忙。
不需要。
我用示波器查看的,有和没有对数据完全没有影响,也不会出现数据没有发送完的情况。但是我在发送数据完成之后没有延时,只是在发送完成的中断回调中拉低使能,是可以完成发送的。

使用特权

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

本版积分规则

2

主题

9

帖子

0

粉丝