標題: 51單片機的串口接CH340驅(qū)動再接USB通信 [打印本頁]

作者: 13681878016    時間: 2020-5-25 05:56
標題: 51單片機的串口接CH340驅(qū)動再接USB通信
本帖最后由 13681878016 于 2020-5-25 06:39 編輯

我目前知道51單片機的串口,TXD與RXD是全雙工的,用的是TTL電平信號通信,可以同時發(fā)送和接收。但是我看了CH340和USB內(nèi)部的電路,USB的數(shù)據(jù)線是VCC,DP 和 DM,GND,分別接CH340的DP和DM,然后電腦端是通過DP和DM的差來得出數(shù)據(jù)信號的。
問題1:那也就是說USB是個半雙工的通信嗎? 并不能同時接收數(shù)據(jù)和發(fā)送數(shù)據(jù)。
問題2:那么51單片機的全雙工串口接上了USB的半雙工口 = 一個半雙工通信口了?
問題3: 如果51單片機的TXD與RXD直接接藍牙模塊(比如HC-05或HC-06),并且藍牙模塊也是全雙工通信,那整體應(yīng)該是一個全雙工的通信了吧?

問題4: 假設(shè)是真的串口+CH340+USB是半雙工的話,那單片機這邊的程序while(1)里一直在發(fā)送數(shù)據(jù)給電腦上位機,那電腦的上位機是不能發(fā)送數(shù)據(jù)給單片機的嗎? 還是說誰有優(yōu)先權(quán)呢?

作者: caiLingRen-1    時間: 2020-11-6 21:32
@樓主,我有同樣的疑問,請問樓主有結(jié)論了么?
作者: caiLingRen-1    時間: 2020-11-6 21:36
@樓主,我和樓主有同樣的疑問,全雙工的串口經(jīng)過CH340轉(zhuǎn)接USB,那么這條通信通路是半雙工么,USB側(cè)與UART側(cè)能否實現(xiàn)同時收發(fā),需不需要考慮USB那段通信線路被占用的情況
作者: 13681878016    時間: 2020-12-22 21:33
caiLingRen-1 發(fā)表于 2020-11-6 21:36
@樓主,我和樓主有同樣的疑問,全雙工的串口經(jīng)過CH340轉(zhuǎn)接USB,那么這條通信通路是半雙工么,USB側(cè)與UART側(cè) ...

應(yīng)該最后成半雙工了。
另外實際項目中,應(yīng)該都有電腦端的上位機控制單片機在何時發(fā)送數(shù)據(jù),平時串口TX,RX都是保持1,閑置狀態(tài)。
這樣才能保證收發(fā)不丟失。
如果單片機一直在發(fā)送數(shù)據(jù)給電腦,那么電腦發(fā)送數(shù)據(jù)給單片機時,可能某些時候會亂碼,造成丟失數(shù)據(jù)。(幾率不大,有興趣可以寫個簡單的一直發(fā)送,也能接收的簡單中斷程序試試。因為是微秒級別的收發(fā)。)
總之半雙工的得聽“某一端的話”,以它的總命令為準,任何一方都不能一直無序的收發(fā)。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1