標(biāo)題:
stm32通過網(wǎng)口向tf卡內(nèi)寫大數(shù)據(jù)探究
[打印本頁]
作者:
piaolin
時間:
2015-10-29 22:53
標(biāo)題:
stm32通過網(wǎng)口向tf卡內(nèi)寫大數(shù)據(jù)探究
項目中需要將15M的大表格數(shù)據(jù)通過網(wǎng)口發(fā)到stm32,我用的還是407,ram能達(dá)到64KB,有經(jīng)驗(yàn)的可能一看就知道怎么寫,沒經(jīng)驗(yàn)的只能摸索。
硬件平臺
Stm32f407
金士頓tf卡+znfat
網(wǎng)口:IP101 10M
Lwip 的 udp傳輸
一開始我使用網(wǎng)絡(luò)調(diào)試助手,在沒有上位機(jī)軟件的情況下,使用udp傳輸一個達(dá)10M的數(shù)據(jù),arm中我使用znfat循環(huán)寫數(shù)據(jù),明白人睜眼一看便知道此法愚蠢至極,實(shí)際上sd內(nèi)數(shù)據(jù)也只能寫進(jìn)1.46M左右,網(wǎng)傳的速度還是相當(dāng)快的,10M的文件,也就12s左右傳輸完畢,但寫tf的數(shù)據(jù)是十分慢的,所以丟包必須存在。
后來我又把文件大小改成12KB,用文件發(fā)送,arm里邊不寫數(shù)據(jù),直接返回來,發(fā)現(xiàn)丟包現(xiàn)象還是存在。
源文件UART5.C 12.9KB
接收的文件 1.c 11.9KB
丟包是間隔的。
反復(fù)思索沒有寫數(shù)據(jù)也會丟包,后來請教前輩說,你可以將電腦的數(shù)據(jù)分包發(fā)送,可能還是arm處理不過來,比如將一個10KB的數(shù)據(jù)分10次發(fā)送,每次發(fā)送1KB,間隔10ms,10ms應(yīng)該能寫進(jìn)去1KB數(shù)據(jù),可以測試一下。
經(jīng)過測試此種方法的確可行。
分包發(fā)送大數(shù)據(jù)。
根據(jù)這種方法,上傳一個10M左右的文件需要10幾分鐘。
作者:
dzfree
時間:
2017-6-30 16:04
很精神的一種解決思路 學(xué)習(xí)了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1