關(guān)于速度的問題

CH372在98/ME下和2000/XP下是不是都可以達(dá)到200KB/s的速度? 是用異步IO方式實(shí)現(xiàn)的?一次發(fā)多少B的數(shù)據(jù)包? 多謝

我們是指USB實(shí)測傳輸速度(低于理論速度),CH372在WINDOWS下為330K字節(jié)每秒,CH372A為380K字節(jié)每秒, 如果使用24MHz的MCS51,不處理數(shù)據(jù)能達(dá)到256K,處理數(shù)據(jù)達(dá)到256K那么單片機(jī)時(shí)鐘應(yīng)該提高到36MHz以上, 測試程序在評(píng)估板資料中BULK/WIN/BULKTEST,測試方法,每次傳輸4K字節(jié),連續(xù)測試2M字節(jié)的平均速度。


速度方面我覺得還可以, 我用AVR+375, 實(shí)際試用時(shí)遠(yuǎn)大于300K. 不過就是指令與數(shù)據(jù)之間沒有等2us,不過也沒出錯(cuò). 若要是,寫指令與數(shù)據(jù)不用1-3us那么久,我估計(jì)500K都可以有了.


“我們是指USB實(shí)測傳輸速度(低于理論速度),CH372在WINDOWS下為330K字節(jié)每秒,CH372A為380K字節(jié)每秒, 如果使用24MHz的MCS51,不處理數(shù)據(jù)能達(dá)到256K,處理數(shù)據(jù)達(dá)到256K那么單片機(jī)時(shí)鐘應(yīng)該提高到36MHz以上, 測試程序在評(píng)估板資料中BULK/WIN/BULKTEST,測試方法,每次傳輸4K字節(jié),連續(xù)測試2M字節(jié)的平均速度。”

什么叫每次傳輸4k字節(jié)呢?ch372每次只能64字節(jié),對(duì)于底下來說也只是每次最多64字節(jié),何來4k呢?


4k就是PC緩存一次最大接受數(shù)據(jù)為4096字節(jié),


如果單片機(jī)在1ms內(nèi)要完成采樣32字節(jié)并上傳,可以實(shí)現(xiàn)嗎?


如何做可以使得“4k就是PC緩存一次最大接受數(shù)據(jù)為4096字節(jié)”? 請(qǐng)看我下面的兩段程序,第一段是我現(xiàn)在的程序,速度只有30K BYTE每秒,第二段是修改后的程序,不知是否可以實(shí)現(xiàn)“4k就是PC緩存一次最大接受數(shù)據(jù)為4096字節(jié)”。 ××××××××××××××××××××××××××××××××××××× Private Sub Command9_Click()

Dim DData As INT_PARA Dim mIndex As Integer Dim mLength As Long Dim kkkk As Long Dim cont As Long Dim i As Integer

DData.mByte1 = 3 DData.mByte2 = Text1.Text DData.mByte3 = Text2.Text DData.mByte4 = Text3.Text DData.mByte5 = Text4.Text mLength = 5 mIndex = 0

If (CH375WriteData(mIndex, DData, mLength)) Then ' 通過CH375發(fā)送命令數(shù)據(jù),成功 If (CH375ReadData(mIndex, DData, mLength)) Then ' 通過CH375接收應(yīng)答數(shù)據(jù),成功 kkkk = CLng(DData.mByte2) + (CLng(DData.mByte3) * 256) + (CLng(DData.mByte4) * 256 * 256) + (CLng(DData.mByte5) * 256 * 256 * 256) Label1.Caption = kkkk Dim boo As Boolean Dim filenbr As Integer mLength = 64 boo = CH375ReadData(mIndex, DData, mLength) tmp.Text = Str(DData.mByte1 + DData.mByte2 * 256) tmp.Text = tmp.Text & "-" & Str(DData.mByte3 + DData.mByte4 * 256) tmp.Text = tmp.Text & ".bin" cont = 0 filenbr = FreeFile Open tmp.Text For Binary As #filenbr Put #filenbr, cont + 1, DData cont = cont + mLength Do While cont < kkkk mLength = 64 '<-------------- boo = CH375ReadData(mIndex, DData, mLength) Put #filenbr, cont + 1, DData cont = cont + mLength Loop Close #filenbr Else MsgBox "CH375ReadData 失敗" End If Else MsgBox "CH375WriteData 失敗" End If

Beep End Sub

××××××××××××××××××××××××××××××××××××× Private Sub Command9_Click()

Dim DData As INT_PARA Dim mIndex As Integer Dim mLength As Long Dim kkkk As Long Dim cont As Long Dim i As Integer

DData.mByte1 = 3 DData.mByte2 = Text1.Text DData.mByte3 = Text2.Text DData.mByte4 = Text3.Text DData.mByte5 = Text4.Text mLength = 5 mIndex = 0

If (CH375WriteData(mIndex, DData, mLength)) Then ' 通過CH375發(fā)送命令數(shù)據(jù),成功 If (CH375ReadData(mIndex, DData, mLength)) Then ' 通過CH375接收應(yīng)答數(shù)據(jù),成功 kkkk = CLng(DData.mByte2) + (CLng(DData.mByte3) * 256) + (CLng(DData.mByte4) * 256 * 256) + (CLng(DData.mByte5) * 256 * 256 * 256) Label1.Caption = kkkk Dim boo As Boolean Dim filenbr As Integer mLength = 64 boo = CH375ReadData(mIndex, DData, mLength) tmp.Text = Str(DData.mByte1 + DData.mByte2 * 256) tmp.Text = tmp.Text & "-" & Str(DData.mByte3 + DData.mByte4 * 256) tmp.Text = tmp.Text & ".bin" cont = 0 filenbr = FreeFile Open tmp.Text For Binary As #filenbr Put #filenbr, cont + 1, DData cont = cont + mLength Do While cont < kkkk '23744 21120 mLength = 4096 '<-------------- boo = CH375ReadData(mIndex, DData, mLength) Put #filenbr, cont + 1, DData cont = cont + mLength Loop Close #filenbr Else MsgBox "CH375ReadData 失敗" End If Else MsgBox "CH375WriteData 失敗" End If

Beep End Sub


果然是這個(gè)原因。 將mLength = 4096后,一運(yùn)行就報(bào)錯(cuò)并退回到WINDOWS,后來發(fā)現(xiàn)是DData太小,只有64 BYTE,于是將DData擴(kuò)大后就不報(bào)錯(cuò)了,試驗(yàn)通訊速度大約達(dá)到300K每秒左右。 不過我用的是44B0+CH375S,速度怎么不能達(dá)到更高呢?按musich的說法似乎達(dá)到500K每秒也是可能的哦。


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

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