我用以下程序來把波特率為38400的串口數(shù)據(jù),以字節(jié)的方式寫進(jìn)U盤。感覺寫的速度跟不上,誰有好辦法幫我解決這個(gè)問題呀? for ( c = 0; c < 256; c ++ ) { u=char_recc( ); /*串口來的字符*/ mCmdParam.ByteWrite.mByteBuffer[0] = u; mCmdParam.ByteWrite.mByteCount = 1; /* 寫入數(shù)據(jù)的字符數(shù)*/ i = CH375ByteWrite( ); /* 向文件寫入數(shù)據(jù) */ } mCmdParam.Close.mUpdateLen = 1;
查看: 3882
回復(fù): 6
CH375寫U盤問題求助
熱門產(chǎn)品 :
CH592: RISC-V內(nèi)核BLE5.4無線MCU
(1)字節(jié)方式寫本身就很慢,而單個(gè)字節(jié)寫就更慢,可以開兩個(gè)大點(diǎn)的緩沖區(qū),一個(gè)用于從串口接收數(shù)據(jù),另一個(gè)滿了以后一次性寫入U(xiǎn)盤,這樣速度會(huì)快一點(diǎn)。 (2)如果還是慢,那么可以緩沖區(qū)設(shè)為1個(gè)扇區(qū)大小,采用扇區(qū)方式寫
串口的速度只能達(dá)到4KB多點(diǎn),速度慢是必然的.除了一樓的方法外,另外你可以用CH374的SPI方式,占用引腳也少,速度會(huì)快.
謝謝!那么緩沖區(qū)多大比較好哪?
按扇區(qū)寫比較快,你設(shè)置的緩沖區(qū)要為512的倍數(shù).串口本身比較慢,既然選擇串口也只能接受這個(gè)速度了.呵呵 現(xiàn)在你測(cè)試的速度能達(dá)到多少?
如1樓說的緩沖區(qū)大小為1個(gè)扇區(qū)大小,一般來說是512字節(jié).
非常感謝!我再試試
請(qǐng)勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄