社区
C++ Builder
帖子详情
用计算机做主机,通过485总线与多个单片机通信,因为其通信方式是半双工的。那如何检测485总线是否空闲。
MackedNice
2003-09-30 09:41:47
以前,我是用延时的方式作的,发送一个命令,延时一端时间。效率太差。现在,我想在向单片机发送一个命令以前。先检查485总线,如果空闲,则发送,否则命令转到一个队列中,当485总线空闲时,发出一个消息,队列接到消息后,再发送命令。
...全文
568
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可以配置成遵循单线
半双工
协议。在单线
半双工
模式下,TX和RX引脚在芯片内部互连。使用控制位”HALF DUPLEX SEL”(USART_CR3中的HDSEL位)选择
半双工
和全双工
通信
。 当HDSEL为’1’时 ● RX不再被使用 ● 当没有数据传输时,TX总是被释放。因此,它在
空闲
状态的或接收状态时表现为一个标准I/O口。这就意味该I/O在不被
485
总线
死锁与复位
摘要:针对RS-
485
接口收发电路的特点,讨论RS-
485
总线
在Polling和CSMA/CD
通信
方式
中死锁
检测
和解除死锁的方法。该方法同样适用于RS-422接口。 关键词:RS-
485
接口 死锁
检测
死锁解除 RS-
485
总线
传送距离远、速度快、抗干扰能力强,是工业现场广泛应用的数字
通信
标准。RS-
485
总线
是一种
半双工
通信
标准,支持
总线
方式多点互连,使其成为集散控制系统和现场
总线
控
【物联网毕设基础】
单片机
:RS
485
通信
与 Modbus 协议
在工业控制、电力通讯、智能仪表等领域,通常情况下是采用串口
通信
的方式进行数据交换。最初采用的方式是 RS232 接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错误。除此之外,RS232 接口只能实现点对点
通信
,不具备联网功能,最大传输距离也只能达到十几米,不能满足远距离
通信
要求。而 RS
485
则解决了这些问题,数据信号采用差分传输方式,可以有效的解决共模干扰问题,最大距离可达1200米,并且允许
多个
收发设备接到同一条
总线
上。随着工业应用
通信
越来越多,1979年施耐德
关于51
单片机
中的几种
通信
模式与总结
关于51
单片机
中的几种
通信
模式与总结 在硬件传输过程中少不了各模块的
通信
,就近来学习到的知识
做
一个简单的梳理与总结
通信
的基本概念
通信
的方式分为多种,按照数据传送方式可以分为串行
通信
与并行
通信
,按照
通信
的数据同步方式,可以分为异步
通信
与同步
通信
,按照数据的传输方向可以分为单工,
半双工
和全双工
通信
。 串行
通信
与并行
通信
串行
通信
使用一条数据线,一位一位进行传输,适合于远距离
通信
传输特点:传输线少,长距离传送成本低, 并行
通信
将数据字节的各位用多条数据线同时进行传送,通常是8位,16位,32等数据一起传
485
、CAN、单
总线
、SPI、I2C的概念,特点,协议,使用方法及
通信
方式
,还有它们之间的区别
1.
485
:
485
(一般称作 RS
485
/EIA-
485
)是隶属于 OSI 模型物理层的电气特性规定为 2 线,
半双工
,多点
通信
的标准。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值来表示传递信号。2. CAN:CAN,全称为“Controller Area Network”,即控制器局域网,是一种多主方式的串行通讯
总线
,是国际上应用最广泛的现场
总线
之一。3. 单
总线
:单
总线
是美国DALLAS公司推出的外围串行扩展
总线
技术。
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章