激战电竞网

「实用技巧」一个串口工具监听多路串口收发

admin 136
一、技巧原理讲解

当我们仅有一个串口工具时,如何通过简单的方式,来做到一个串口工具,监听串口的收发,或者多路串口的数据呢?

话不多说,直接上原理图!

空闲状态下,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端:

①按下按键,发送[MasterTX]:KEYPRESS!

②接收到Slave发来的数据DATA,进行回显返回[MasterRX]:DATA。

Slave端:

①按下按键,发送[Slave-TX]:BUTTONRELEASE!

②接收到Master发来的数据DATA,进行回显返回[Slave-RX]:DATA。

注:Master与Slave的实现代码类似

(3)实验结果

通过分别按下Master与Slave的按键,在串口端抓取到如下数据: