一、技巧原理講解
當我們僅有一個串口工具時,如何通過簡單的方式,來做到一個串口工具,監(jiān)聽串口的收發(fā),或者多路串口的數(shù)據(jù)呢?
話不多說,直接上原理圖!
空閑狀態(tài)下,Master與Slave的串口連接處,都處于高電平狀態(tài)。
這里,通過兩個1N4007的二極管,利用二極管的單向導通性,再加上串口USB端的弱上拉,使得串口USB端的數(shù)據(jù),既能合并來自Master與Slave發(fā)送的數(shù)據(jù),也阻隔了通信中Master與Slave的兩條TX與RX線的相互干擾。
該電路更多的用于很多芯片的串口AT指令通信中,當主機Master發(fā)送【AT+DATA】時,從機Slave響應相應的數(shù)據(jù)。由于通信的先后關系,便能將Master與Slave的通信數(shù)據(jù)一一對應到同一窗口下。
二、實驗與驗證
(1)電路實現(xiàn)
我們通過兩個1N4007二極管,以及10k的金屬膜電阻,少量的杜邦線,來實現(xiàn)串口監(jiān)聽線。
再通過2個最小系統(tǒng)的板子,連接串口,并共地線。
這里初步實現(xiàn)板子串口的監(jiān)聽連接。
(2)軟件通信實現(xiàn)
在這里,我們需要在MCU的軟件上,實現(xiàn)以下機制:
Master端:
①按下按鍵,發(fā)送[Master TX]: KEY PRESS!
②接收到Slave發(fā)來的數(shù)據(jù)DATA,進行回顯返回[Master RX]: DATA。
Slave端:
①按下按鍵,發(fā)送[Slave- TX]: BUTTON RELEASE!
②接收到Master發(fā)來的數(shù)據(jù)DATA,進行回顯返回[Slave- RX]: DATA。
注:Master與Slave的實現(xiàn)代碼類似
(3)實驗結果
通過分別按下Master與Slave的按鍵,在串口端抓取到如下數(shù)據(jù):
-
二極管
+關注
關注
148文章
10038瀏覽量
170239 -
usb
+關注
關注
60文章
8136瀏覽量
270654 -
串口
+關注
關注
14文章
1582瀏覽量
78578 -
MASTER
+關注
關注
0文章
105瀏覽量
11602
發(fā)布評論請先 登錄
串口監(jiān)聽數(shù)據(jù)存儲
肝 | 一種串口高效收發(fā)思路及方案

STM32串口控制收發(fā)模式總結

STM32 CubeMx(三)外部中斷和串口收發(fā)

如何來編寫一個串口收發(fā)程序

一種高效的串口收發(fā)思路及方案

評論