一、技巧原理讲解
当我们仅有一个串口工具时,如何通过简单的方式,来做到一个串口工具,监听串口的收发,或者多路串口的数据呢?
话不多说,直接上原理图!
空闲状态下,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的按键,在串口端抓取到如下数据:
全部0条评论
快来发表一下你的评论吧 !