我使用CH341A轉(zhuǎn)三線URAT有較長一段時間之前一直無問題, 現(xiàn)在另一個項目中也使用了,上位機(jī)是客戶開發(fā)的成熟軟件,并且使用串口調(diào)試助手 當(dāng)上位機(jī)使用電腦主板自帶的串口與下位通訊時一切正常,當(dāng)使用CH341串口后,在打開串口后的第一次通訊的過程中上位機(jī)讀到的數(shù)據(jù)會出錯具體情況如下(使用Ser232Mon軟件獲得的數(shù)據(jù)): 41 41 C1 41 41 41 41 41 41 41 41 C1 41 [b]80 41[/b] 41(正常的數(shù)據(jù)) 41 41 C1 41 41 41 41 41 41 41 41 C1 41 [b]41 80[/b] 41(不正常的數(shù)據(jù)) 通訊的波特率為19200 8位數(shù)據(jù) COM號為3 出現(xiàn)錯誤后上位機(jī)再次重試之后一切工作正常麻煩幫忙分析一下我應(yīng)該從那些方面去檢查問題,謝謝!
建議如下: 1-如果你用了延長線請務(wù)必使用屏蔽線而且線的長度不能超過5米 2-V3引腳的電容要接103(0.01uf)電容 3-要注意干擾問題 4-上位機(jī)軟件的通訊端口參數(shù)設(shè)置上下位機(jī)要一致,包括數(shù)據(jù)位,校驗位,停止位,波特率,其他沒有什么了
謝謝你的回復(fù): 1-長度在1.2米的左右。 2-電路圖使用手冊上的典型圖。 3-已經(jīng)重點檢查了。 4-上下位機(jī)通訊參數(shù)是一致的。
另有一個疑問比如: 情況描述: 上位機(jī)在打開串口后以38400的波特率,立即就向串口寫入數(shù)據(jù)(可能沒有延時),然后等下位機(jī)在幾個毫秒內(nèi)返回響應(yīng)信號,如果響返回響信號不正確或超時則關(guān)閉串口,然后再打開串口用19200波特率再次向串口寫入數(shù)據(jù)(下位機(jī)就是用的19200),下位機(jī)則返回響應(yīng)信號。
疑問: 因為上位機(jī)會快速的 打開串口-》寫入數(shù)據(jù)-》關(guān)閉串口,再以其它波特率來 打開串口-》寫入數(shù)據(jù)******* 我的擔(dān)心是因為是 虛擬出來的串口,在這種快速而頻繁的打開,關(guān)閉過程中,虛擬串的速度會不會跟不上電腦主要板的硬件串口。所以才會出現(xiàn)這情況。
在這些天我實際還測試了其它兩種USB轉(zhuǎn)串口芯片,臺灣的PL2303也出現(xiàn)了類似的情況和 FT232芯片情況正常
關(guān)于頻繁的打開串口->發(fā)送數(shù)據(jù)->關(guān)閉串口是不會影響芯片正常工作的.
根據(jù)你所說的問題,有幾個問題想問一下: 1-上位機(jī)數(shù)據(jù)接收數(shù)據(jù)出錯是經(jīng)常發(fā)生還是偶爾 2-有沒有加電平轉(zhuǎn)換芯片 3-請問你的上位機(jī)軟件是如何操作串口的,請說明流程,可以幫助我們測試,如果方便的話請?zhí)峁┥衔粰C(jī)程序
請問你的聯(lián)系方式