社区
C++ Builder
帖子详情
用计算机做主机,通过485总线与多个单片机通信,因为其通信方式是半双工的。那如何检测485总线是否空闲。
MackedNice
2003-09-30 09:41:47
以前,我是用延时的方式作的,发送一个命令,延时一端时间。效率太差。现在,我想在向单片机发送一个命令以前。先检查485总线,如果空闲,则发送,否则命令转到一个队列中,当485总线空闲时,发出一个消息,队列接到消息后,再发送命令。
...全文
549
7
打赏
收藏
用计算机做主机,通过485总线与多个单片机通信,因为其通信方式是半双工的。那如何检测485总线是否空闲。
以前,我是用延时的方式作的,发送一个命令,延时一端时间。效率太差。现在,我想在向单片机发送一个命令以前。先检查485总线,如果空闲,则发送,否则命令转到一个队列中,当485总线空闲时,发出一个消息,队列接到消息后,再发送命令。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gpg
2003-09-30
打赏
举报
回复
你只管发送,收到回应再发送。
就是你只要保证统一时刻只收或只发。
当然,你会说,我发的同时它也发咋办。
好办,建立严格的因答机制就行了。
appletreestudio
2003-09-30
打赏
举报
回复
只需要查询计算机的串口是否为空就可以了。
具体请参见《C++builder与RS-232串口通信》
虽然不是485的,但是效果是一样的
Behard
2003-09-30
打赏
举报
回复
检查 485 总线?好像不行的吧!
因为计算机仅仅是知道是否有数据已经接收完毕或者正在接收数据
而不知道是否后面还有数据进来
(使用计算机发送时,他仅仅是查询是否可以再次发送数据而已)
一般 485 通讯都是固定的由主机查询,子机响应(这里做一个严格的时间限制)
MackedNice
2003-09-30
打赏
举报
回复
软件怎么实现
fatwave
2003-09-30
打赏
举报
回复
有这种硬件,叫排队机,它会自动将数据从空闲的端口发出去的!!
netsys2
2003-09-30
打赏
举报
回复
得写硬件驱动。。。
MackedNice
2003-09-30
打赏
举报
回复
那么不检查485总线,发送线程发送一条命令后,等待。接受线程不断接受并检查串口的数据。如果接受到一条数据包的结束码(如03),则通知发送线程再发送一条命令。这样行不行啊。。
代码怎么实现啊。。。
郁闷中。。。。。。。。。。
单线
半双工
通信
简单例程(STM32与电脑
通信
)
单线
半双工
通信
的官方资料 单线半双方模式通过设置USART_CR3寄存器的HDSEL位选择。在这个模式里,下面的位必须保持清零状态: ● USART_CR2寄存器的LINEN和CLKEN位 ● USART_CR3寄存器的SCEN和IREN位 USART可以配置...
485
总线
死锁与复位
摘要:针对RS-
485
接口收发电路的特点,讨论RS-
485
总线
在Polling和CSMA/CD
通信
方式
中死锁
检测
和解除死锁的方法。...RS-
485
总线
是一种
半双工
通信
标准,支持
总线
方式多点互连,使其成为集散控制系统和现场
总线
控
计算机
网络 物理层 实现的功能详解
物理层的四个特性描述 机械、电气、功能和过程#
通信
模型两大模型 局域网:数字信号 广域网:光纤型号# 数据
通信
常用术语 &...
【物联网毕设基础】
单片机
:RS
485
通信
与 Modbus 协议
在工业控制、电力通讯、...而 RS
485
则解决了这些问题,数据信号采用差分传输方式,可以有效的解决共模干扰问题,最大距离可达1200米,并且允许
多个
收发设备接到同一条
总线
上。随着工业应用
通信
越来越多,1979年施耐德
单片机
各种
通信
协议详解
I2C(Inter-Integrated Circuit BUS) 集成电路
总线
,该
总线
由 NXP(原 PHILIPS)公司设计,多用于主控制器和从器件间的主从
通信
,在小数据量场合使用,传输距离短,任意时刻只能有一个
主机
等特性。 经常 IIC 和 SPI ...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章