<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 串口接收大數據包的問(wèn)題

串口接收大數據包的問(wèn)題

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏
學(xué)習stm32有1年多之久了,但是串口接收數據雖然接觸的很多了,但是最近突然遇到串口中斷要接收好幾百KB乃至幾兆的數據,卻一時(shí)半會(huì )想不想出設計方案來(lái)。還是學(xué)的不透徹,明天好好研究總結一下!

串口總結

串口如何接收大數據經(jīng)過(guò)幾天的搜索和查證現總結一下。舉例來(lái)說(shuō)單片機內存只有512KB,而我們要接收一包1M的圖片數據并送至液晶屏LCD顯示。很顯然單片機的內存不足1M如果接收完在處理,肯定會(huì )使單片機崩潰,如果我們開(kāi)辟一個(gè)512字節大小的Buffer,用串口中斷接收數據,可以循環(huán)使用Buffer200多次才能將一包接收過(guò)來(lái)。這個(gè)時(shí)候,我們可以spiflash將每一包buffer數據寫(xiě)到Flash,等1M數據接收完后再從FLASH里讀出來(lái)處理數據。但這種方案要求Flash容量必須足夠大,如果串口接收的數據不是一種的話(huà)發(fā)的很頻繁的話(huà),也容易很快將Flash報廢,他的讀寫(xiě)次數只有10完次對同一頁(yè)的讀寫(xiě)時(shí),并且還要考慮到速度和價(jià)錢(qián)問(wèn)題。

另一種方式就是不使用外部Flash直接對數據進(jìn)行處理,這種方式我們經(jīng)理告訴我叫做透傳(需要查證)。就是接收完一個(gè)buffer512個(gè)字節后,產(chǎn)生一個(gè)標志位置1,表示一包接收完,這個(gè)時(shí)候我們開(kāi)啟另一個(gè)定時(shí)器中斷定時(shí)查詢(xún)標志位,如果標志位為1,我們將數據提取出來(lái),送至LCD顯示,當然這里有個(gè)細節要求,需要LCD發(fā)送數據足夠快,數據送完后,串口中斷才會(huì )接收,也就是處理數據的速度要比串口接收數據的速度快,我們也可以適當調低串口波特率,降低速度,如果是9600,算法如下一包數據有起始位,結束位,數據位共10個(gè),9600/10=960,也就是一秒接收960個(gè)字節,1MS接收0.96個(gè)字節,也就是說(shuō)1Ms多一點(diǎn)就一個(gè)字節,而處理的速度要在1MS內完成才不會(huì )被中斷打斷。


關(guān)鍵詞: 串口接收大數據

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>