打印

RS485半双工切换为什么要加延时(非尾字不能发的问题)?

[复制链接]
11717|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzwujucong|  楼主 | 2012-3-19 18:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在网上看到很多即时切换的原理图,这个需要硬件的支持,我现在在试RS485通讯,等待最后一个字发完后,切换成接收,这里必需要有2~5ms的延时时间才正确,按我的理解脚位设置低电频后应该已经退出总线了。这个延时到底是总线上的需要还是哪里的需要?

相关帖子

沙发
sxiaoguang| | 2012-3-19 20:39 | 只看该作者
检测停止位???

使用特权

评论回复
板凳
lzwujucong|  楼主 | 2012-3-20 13:41 | 只看该作者
可以确定停止位已经发送完成,软件控制收发切换的,必需有个时间延时,实际上测试如果不加切换延时会造成接收都是乱码,弄不明白为什么需要这个延时。

使用特权

评论回复
地板
sjnh| | 2012-3-21 13:23 | 只看该作者
不用加延时,我一直这样用了10年了,没出现问题
你说的延时是不是这个原因:
如S3C44B0X没有移位完成中断,只有缓冲区空中断,产生中断时,还有一个字节的数据在移位寄存器中正在输出,所以要加延时判断是否完成输出,只有完成最后一个位后才能切换方向
而这个延时时间根据bps能计算出来

使用特权

评论回复
5
chunyang| | 2012-3-21 23:13 | 只看该作者
最好加延时,因为485内电路切换本身需要时间,总线上的分布电容会延长这一时间,特别是对那些总线没有静态偏置或偏置量不足时的情况。

使用特权

评论回复
6
sjnh| | 2012-3-22 09:07 | 只看该作者
最好加延时,因为485内电路切换本身需要时间,总线上的分布电容会延长这一时间,特别是对那些总线没有静态偏置或偏置量不足时的情况。
chunyang 发表于 2012-3-21 23:13


你说的延时是接收设备接收完数据然后返回时加延时吧?这个是要加的
不然按你说的切换需要时间,如果再加延时不更慢了

使用特权

评论回复
7
jeaper| | 2012-3-30 13:03 | 只看该作者
这个延时应该是由发送到接收状态切换时加的。因为485总线默认在接收状态,发送只是在需要的时候进行。

使用特权

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

本版积分规则

0

主题

2

帖子

1

粉丝