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

[复制链接]
12977|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能计算出来
chunyang 发表于 2012-3-21 23:13 | 显示全部楼层
最好加延时,因为485内电路切换本身需要时间,总线上的分布电容会延长这一时间,特别是对那些总线没有静态偏置或偏置量不足时的情况。
sjnh 发表于 2012-3-22 09:07 | 显示全部楼层
最好加延时,因为485内电路切换本身需要时间,总线上的分布电容会延长这一时间,特别是对那些总线没有静态偏置或偏置量不足时的情况。
chunyang 发表于 2012-3-21 23:13


你说的延时是接收设备接收完数据然后返回时加延时吧?这个是要加的
不然按你说的切换需要时间,如果再加延时不更慢了
jeaper 发表于 2012-3-30 13:03 | 显示全部楼层
这个延时应该是由发送到接收状态切换时加的。因为485总线默认在接收状态,发送只是在需要的时候进行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部