一、技巧原理講解
當(dāng)我們僅有一個串口工具時,如何通過簡單的方式,來做到一個串口工具,監(jiān)聽串口的收發(fā),或者多路串口的數(shù)據(jù)呢?
話不多說,直接上原理圖!
空閑狀態(tài)下,Master與Slave的串口連接處,都處于高電平狀態(tài)。
這里,通過兩個1N4007的二極管,利用二極管的單向?qū)ㄐ?,再加上串?a target="_blank">USB端的弱上拉,使得串口USB端的數(shù)據(jù),既能合并來自Master與Slave發(fā)送的數(shù)據(jù),也阻隔了通信中Master與Slave的兩條TX與RX線的相互干擾。
該電路更多的用于很多芯片的串口AT指令通信中,當(dāng)主機Master發(fā)送【AT+DATA】時,從機Slave響應(yīng)相應(yīng)的數(shù)據(jù)。由于通信的先后關(guān)系,便能將Master與Slave的通信數(shù)據(jù)一一對應(yīng)到同一窗口下。
二、實驗與驗證
(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)實驗結(jié)果
通過分別按下Master與Slave的按鍵,在串口端抓取到如下數(shù)據(jù):
-
二極管
+關(guān)注
關(guān)注
148文章
10101瀏覽量
171715 -
usb
+關(guān)注
關(guān)注
60文章
8190瀏覽量
273108 -
串口
+關(guān)注
關(guān)注
15文章
1588瀏覽量
79974 -
MASTER
+關(guān)注
關(guān)注
0文章
109瀏覽量
11745
發(fā)布評論請先 登錄
串口監(jiān)聽數(shù)據(jù)存儲
肝 | 一種串口高效收發(fā)思路及方案

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

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

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

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

評論