社区
网络及通讯开发
帖子详情
用计算机做主机,通过485总线与多个单片机通信,因为其通信方式是半双工的。那如何检测485总线是否空闲。
MackedNice
2003-09-30 09:44:42
以前,我是用延时的方式作的,发送一个命令,延时一端时间。效率太差。现在,我想在向单片机发送一个命令以前。先检查485总线,如果空闲,则发送,否则命令转到一个队列中,当485总线空闲时,发出一个消息,队列接到消息后,再发送命令。
...全文
112
2
打赏
收藏
用计算机做主机,通过485总线与多个单片机通信,因为其通信方式是半双工的。那如何检测485总线是否空闲。
以前,我是用延时的方式作的,发送一个命令,延时一端时间。效率太差。现在,我想在向单片机发送一个命令以前。先检查485总线,如果空闲,则发送,否则命令转到一个队列中,当485总线空闲时,发出一个消息,队列接到消息后,再发送命令。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MackedNice
2003-09-30
打赏
举报
回复
软件怎样实现呢。。。。
fatwave
2003-09-30
打赏
举报
回复
有这种硬件,叫排队机,它会自动将数据从空闲的端口发出去的!!
单线
半双工
通信
简单例程(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年施耐德
485
、CAN、单
总线
、SPI、I2C的概念,特点,协议,使用方法及
通信
方式
,还有它们之间的区别
1.
485
:
485
(一般称作 RS
485
/EIA-
485
)是隶属于 OSI 模型物理层的电气特性规定为 2 线,
半双工
,多点
通信
的标准。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值来表示传递信号。2. CAN:CAN,全称为“Controller Area Network”,即控制器局域网,是一种多主方式的串行通讯
总线
,是国际上应用最广泛的现场
总线
之一。3. 单
总线
:单
总线
是美国DALLAS公司推出的外围串行扩展
总线
技术。
利用51
单片机
实现与RS
485
通讯,接收数据
事实上,我刚
做
这个项目就上网遍历了一下,几乎没有人
做
普中51
单片机
与
485
通讯的案例。于是想着应该可以创新,就没有用Arduino或者STM32来
做
。于是踩了个比较大的坑,你也看到了,看法过程中足足用了4个软件,改bug的过程中相当繁琐,然后这个UI
做
得也不行。这个方案不是没有人
做
,而是太麻烦了导致没有人
做
。我的方案有效代码拢共500多行,而且还时不时报错;我同组有Arduino开发的同学也就300多行的代码就解决了。下次加把劲用Arduino ESP32 试一下。
网络及通讯开发
1,316
社区成员
8,873
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章