打印
[MCU]

问一下怎么判断485总线是否为忙状态

[复制链接]
2136|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzjgod|  楼主 | 2013-11-27 17:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据发送前不都是要判断一下485总线是否为空闲的状态,请问一下有什么办法来进行判断,好比我单片机的接收缓存是空,但是此时实际是有数据正在接收的,难道说要判断RXD没有信号,并且保持了一段时间?
有没有简单易行、可靠的办法来解决这个问题。

相关帖子

沙发
ningling_21| | 2013-11-27 18:26 | 只看该作者
485总线一般用于有协议的环境中通信。
主机和从机根据协议来区分发送和接收,不需要判断忙。

如果没有协议时,可以把485设置为接收,如果有收到数据说明总线忙.

使用特权

评论回复
板凳
XZL| | 2013-11-27 18:33 | 只看该作者
RS485需要协议来保证

使用特权

评论回复
地板
yzjgod|  楼主 | 2013-11-27 18:45 | 只看该作者
主要是在做信号转换器,协议什么的我管不到,只能在自己这一端进行规避,其实最好的办法我觉得是单片机有一个状态寄存器能查,但实际上我用的单片机没有这种功能,所以感觉上要是实现起来可能稍微有些复杂,不知道有没有什么简单易行的办法

使用特权

评论回复
5
kseeker| | 2013-12-2 09:23 | 只看该作者
没有协议就没法通信。协议你改不了,也必须搞明白。你的思路不可能行得通,因为信号永远可能在你检查状态后的一瞬间到达。你需要的事未来一定时间内线路一定空闲的保证。正常的需要双向通信的485协议都会规定各设备何时拥有线路控制权,何时必须监听。例如,请求发出后转入监听至少50ms,对另一方则是持续监听,收到请求后50ms内必须回应,回应后必须马上回到监听状态。

使用特权

评论回复
6
ayb_ice| | 2013-12-2 10:03 | 只看该作者
没有听说过这东西

使用特权

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

本版积分规则

239

主题

370

帖子

2

粉丝