CH9326通訊超時設(shè)定問題

你好,

我在使用CH9326進(jìn)行通訊的時候,發(fā)現(xiàn)單片機(jī)發(fā)送給CH9326的信息幾乎都是丟失的,無法順利傳送到計算機(jī)上。似乎CH9326對應(yīng)答的時刻要求非??量?,只能收到后立即回送數(shù)據(jù),只要單片機(jī)從一個子函數(shù)中返回再回送數(shù)據(jù),計算機(jī)就無法接收到。請問能否幫忙分析一下。

我看到演示程序中有Timeout設(shè)定,但是不太確定這個超時設(shè)定是什么意思,這個超時是哪個環(huán)節(jié)的超時?另外超時設(shè)定的參數(shù)解釋也不是很清楚,只是簡單列舉了幾個數(shù)值,能否解釋一下數(shù)值的含義。
謝謝

更新一下:

經(jīng)過幾天無數(shù)次的折騰,我大致找到了問題的原因或者一個解決辦法。

在單片機(jī)程序里面,查詢并接收到CH9326發(fā)送的數(shù)據(jù)后,需要馬上會送一些信息,一個字節(jié)都可以。沒有去測試這個時間段有多短,反正程序從讀取函數(shù)返回后再發(fā)送就來不及了。然后函數(shù)返回后,可以處理其他數(shù)據(jù)之后再發(fā)送就沒有問題,計算機(jī)上都可以收到這些發(fā)送的內(nèi)容。如果不這樣做,計算機(jī)就不會收到數(shù)據(jù)。

這可能與USB的規(guī)范有關(guān)系,又或許是超時設(shè)定的問題,沒有辦法確認(rèn)。

供大家參考。


您好,CH9326的庫函數(shù)中設(shè)定的超時時間是USB操作的超時,如主機(jī)發(fā)送數(shù)據(jù)超時未成功或主機(jī)超時未讀取到串口數(shù)據(jù)。(開啟讀線程時超時不起作用)

您反饋的問題并不正常,對于計算機(jī)讀和寫都是獨立的,無論何時單片機(jī)上傳都會讀到數(shù)據(jù)才是正常的,您這個問題大概率時單片機(jī)程序問題,如實際并未發(fā)送成功。


感謝回復(fù)。

對于單片機(jī)程序的問題,我一開始也是這么認(rèn)為的,肯定是我的程序有問題。我也做了幾個簡單的收發(fā)測試程序,工作正常,沒有任何問題,可是只要一輸入到項目程序里面就不工作,非常怪異。檢查了各種可能與通訊沖突的地方,修改測試了無數(shù)遍那幾行代碼,翻來覆去修改所有可能相關(guān)的代碼,他就是不工作,重寫了很多函數(shù)也沒有效果。我連有符號數(shù)到無符號數(shù)轉(zhuǎn)換都檢查測試,甚至懷疑過編譯器,最終發(fā)現(xiàn)只要在串口讀取指令后面加上指令回送一個字節(jié)或者隨便什么東西,所有問題都解決了。所以如果說單片機(jī)發(fā)送不成功導(dǎo)致計算機(jī)收不到,也很奇怪。沒有道理說在子程序里面發(fā)送就可以,返回之后發(fā)送就不可以。

關(guān)于單片機(jī)是否正確發(fā)出數(shù)據(jù)的問題,我用示波器檢查了,即使計算機(jī)無法收到數(shù)據(jù)的情況下,可以看到單片機(jī)的數(shù)據(jù)腳是發(fā)出了脈沖信號的。

之前測試中還發(fā)現(xiàn)過一個怪現(xiàn)象,就是有的時候第一次通訊的數(shù)據(jù)包可以收到,再之后就不行了。不過沒有發(fā)現(xiàn)什么規(guī)律,因為不能持續(xù)傳輸,也就沒有繼續(xù)深究。

關(guān)于USB操作的超時,大致了解了。如果說主機(jī)發(fā)送的時候可能會失敗,可以理解CH9326同計算機(jī)之間是有握手信號的,那主機(jī)超時未收到串口數(shù)據(jù)可能是因為單片機(jī)根本就沒有回送數(shù)據(jù),這個超時應(yīng)該沒有太大意義。


您這邊可以加下我們技術(shù)支持微信,在線幫你看下為什么產(chǎn)生這個問題。聯(lián)系方式已私信你。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频