话不多说,直接上事理图!
空闲状态下,Master与Slave的串口连接处,都处于高电平状态。
这里,通过两个1N4007的二极管,利用二极管的单引导通性,再加上串口USB真个弱上拉,使得串口USB真个数据,既能合并来自Master与Slave发送的数据,也阻隔了通信中Master与Slave的两条TX与RX线的相互滋扰。
该电路更多的用于很多芯片的串口AT指令通信中,当主机Master发送【AT+DATA】时,从机Slave相应相应的数据。由于通信的先后关系,便能将Master与Slave的通信数据逐一对应到同一窗口下。
二、实验与验证<<(1)电路实现
我们通过两个1N4007二极管,以及10k的金属膜电阻,少量的杜邦线,来实现串口监听线。
再通过2个最小系统的板子,连接串口,并共地线。
这里初步实现板子串口的监听连接。
(2)软件通信实现
在这里,我们须要在MCU的软件上,实现以下机制:
Master端:①按下按键,发送[Master TX]: KEY PRESS!
②吸收到Slave发来的数据DATA,进行回显返回[Master RX]: DATA。
Slave端:①按下按键,发送[Slave- TX]: BUTTON RELEASE!
②吸收到Master发来的数据DATA,进行回显返回[Slave- RX]: DATA。
注:Master与Slave的实当代码类似
(3)实验结果
通过分别按下Master与Slave的按键,在串口端抓取到如下数据: