如題,使用端點2發(fā)送和接收,長度都定義為64,buffer長度為128,接收64字節(jié)數(shù)據(jù)沒有問題,但是最多只能發(fā)送32字節(jié),超過32字節(jié),數(shù)據(jù)就發(fā)不出去,電腦接收不到任何數(shù)據(jù)。
還是只能32字節(jié),是不是CH340的驅(qū)動就只支持32字節(jié)呀?
您好,我這邊收發(fā)測試64字節(jié)都是沒問題的,你可以直接用回復(fù)附件例程測試一下,或告知一下你是如何測試的,可以郵箱(lzs@wch.cn)溝通一下。
你好,你可能理解錯我的意思了;我端點buffer設(shè)置為64字節(jié),發(fā)送的數(shù)據(jù)長度也是64字節(jié),我需要一個包就發(fā)送64字節(jié)?,F(xiàn)在的問題是一個包發(fā)送最多32字節(jié)。
你修改的例程,里面已經(jīng)把端點buffer修改為32字節(jié)了。雖然串口測試64字節(jié)長度沒問題,但實際已經(jīng)是分成多個包發(fā)出來的,這在實際生產(chǎn)程序中,數(shù)據(jù)肯定不是接收就發(fā)送那么簡單。
如下圖,接收實際是2個數(shù)據(jù)包了。
你可以試一下,不要管接收,直接定時1秒向電腦發(fā)送64字節(jié)數(shù)據(jù),肯定收不到任何數(shù)據(jù)。除非把端點的buffer長度修改為32字節(jié),發(fā)送2次;不然超過32字節(jié),電腦就收不到數(shù)據(jù)。
會不會你們usb端點的長度是64字節(jié),但是同一端點同時用作收發(fā),那就只能是64/2=32字節(jié)??
我印象里CH340芯片最大包就是32字節(jié)