在这里插入图片描述
在串口TX实现一对多通信时,直接将串口TX串联是不可以的,因为uart空闲电平为高电平。当要发送数据时,TX管脚将电平拉低。上图中,MCU发送数据时,MCU的TX管脚拉低电平,此时两个从机的RX均被MCU的TX拉低,意味着从机可以收到MCU发送的数据;但是当从机给MCU发送数据时就出问题了,U3的TX发送数据,将MCU的RX拉低,此时U2的TX未发送数据,仍然在维持高电平,这时MCU的RX所接的两个从机,一个拉低电平,一个拉高电平,显然会出问题。
解决办法其实很简单,给从机的TX串一个二极管即可。如上图所示,当 U4的TX发送数据,将MCU的RX拉低,此时U5的TX未发送数据,仍然在维持高电平,但是由于二极管D2的存在,此时MCU的RX电平会被U4的TX正常拉低,所以此时从机U4可以正常给MCU发送数据了,同理U5也可以正常给MCU发送数据。
在这里插入图片描述

详情见原文:https://blog.csdn.net/jsf120/article/details/124041662

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐