3个USART接口相连问题?

现在有设备A和B,A和B以下列方式连接:A_TX--->B_RXA_RX--->B_TXA_GND--->B_GNDA_5V--->B_5V现有一个TTL转USB的模块C... 现在有设备A和B,A和B以下列方式连接:
A_TX ---> B_RX
A_RX ---> B_TX
A_GND ---> B_GND
A_5V ---> B_5V

现有一个TTL转USB的模块C,在上面连接不变的情况下接入

情况1:
A_TX ---> C_RX
A_RX ---> C_TX
A_GND ---> C_GND

情况2:
B_TX ---> C_RX
B_RX ---> C_TX
B_GND ---> C_GND

实验表明,情况1时,串口助手可以与A正常通讯,情况2时,串口助手无法和B通讯
实际情况:A是单片机【STM32/51/PIC】,B是一个USART的可读取模块【如传感器,采集芯片】
另外,在电路板上TX和RX均接入有上拉电阻
所以,为何会出现一个能通讯正常,一个通讯失败呢?
我现在的解决办法是 如果在情况2,就用按钮去断开 A的电源
展开
 我来答
NM灰灰
2020-09-17 · 单片机、arduino....
NM灰灰
采纳数:255 获赞数:241

向TA提问 私信TA
展开全部
大概原因是:设备B没有5v电源供应!!!
从原来A-B连接看,5v供电连接是从A供给B的
现在B-C连接,B没有供电,所以不通。
另外你采用的切换方式也有问题,很不可靠!应该用双继电器切换,或者双路开关芯片CD4052之类的切换,或者做个用单片机双路串口信号自动切换器。
迟家的大猫
2020-09-17 · TA获得超过329个赞
知道小有建树答主
回答量:371
采纳率:80%
帮助的人:218万
展开全部
  1. A(单片机)和C(TTL转USB模块)可以通信,可能是A串口管脚的驱动能力强于B(采集模块),或者B串口管脚模式为开漏输出(驱动能力弱),这样A的高低电平跳变可以拉动B跟着一起跳变,因此A和C正常;

  2. 反之,C不能和B通信,可能是B的串口管脚驱动能力弱于A,或者A串口管脚模式为推挽输出(如STM32),这样B的电平跳变无法拉动A管脚跳变,而一直保持A默认的高电平状态,因此B和C不正常;

  3. 电路板上均接入上拉电阻,是一种匹配的方法,需要确保单片机和采集芯片均已配置为开漏输出。以及,断开A电源进行通信是可以的,这样相当于BC只通,不受其它电平影响。

  4. 串口并联很少使用,因为有匹配和可靠性的问题,有时也会发生电流倒灌从而损坏器件。建议可以选择一转多串口芯片、模拟开关、双向IO芯片等来进行扩展,更加安全些。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式