標(biāo)題: C語言數(shù)組數(shù)據(jù)的量太大STM32程序該怎么處理? [打印本頁]

作者: 鍒樺搱鍝    時(shí)間: 2021-3-4 20:30
標(biāo)題: C語言數(shù)組數(shù)據(jù)的量太大STM32程序該怎么處理?
小弟現(xiàn)在做一個(gè)設(shè)計(jì),需要對(duì)一幀數(shù)據(jù)做處理,用的STM32F103RCT6,但是這個(gè)內(nèi)存好像不太夠,請(qǐng)問各位大哥有什么方法處理嗎?

51hei圖片_20210304202728.png (55.63 KB, 下載次數(shù): 106)

51hei圖片_20210304202728.png

51hei圖片_20210304202723.png (46.88 KB, 下載次數(shù): 91)

51hei圖片_20210304202723.png

51hei圖片_20210304202502.png (55.19 KB, 下載次數(shù): 98)

51hei圖片_20210304202502.png

作者: munuc_w    時(shí)間: 2021-3-5 08:25
RC的RAM是48K,不夠用的話,可以換RF,RAM是96K,這是103系列64PIN RAM最大的了。
作者: 鍒樺搱鍝    時(shí)間: 2021-3-5 10:48
munuc_w 發(fā)表于 2021-3-5 08:25
RC的RAM是48K,不夠用的話,可以換RF,RAM是96K,這是103系列64PIN RAM最大的了。

謝謝老哥了,我先看看采集卡能不能用
作者: zhangxiaozi    時(shí)間: 2021-3-5 11:07
外擴(kuò)SRAM
作者: 黃youhui    時(shí)間: 2021-3-5 13:30
沒用的,我試過。最好用其他外設(shè)存起來或者做個(gè)200的數(shù)組,然后每接受50個(gè)對(duì)比一次。處理數(shù)據(jù)稍微卡一下就崩了。
作者: daemondong    時(shí)間: 2021-3-5 15:15
這33000個(gè)字節(jié)都有用么?可以每接收1000個(gè)處理一下,保留有用的數(shù)據(jù)。
作者: wufa1986    時(shí)間: 2021-3-5 15:39
不用問了,對(duì)速度要求快,不可能有其他方法
作者: cn_zhx    時(shí)間: 2021-3-5 16:11
跟發(fā)送方溝通好協(xié)議,分段發(fā)送,處理完一段給標(biāo)志,繼續(xù)發(fā)送
作者: rayin    時(shí)間: 2024-9-24 08:02
數(shù)組的數(shù)據(jù)量太大, 不需要全部都放在單片機(jī)的內(nèi)部flash空間, 可以用25Q16/128的SPI接口的外部儲(chǔ)存保存.
作者: flush    時(shí)間: 2024-9-24 16:25
之前我也是遇到了類似的問題 需要從sd卡里讀一個(gè)很大數(shù)據(jù)量的數(shù)組 flash直接爆了 后面也不知道該咋辦
作者: flush    時(shí)間: 2024-9-24 16:25
可以試試外接flash
作者: 單片機(jī)研究協(xié)會(huì)    時(shí)間: 2024-9-25 09:12
換芯片,STM32H750VB,SRAM有1M

作者: zeng152    時(shí)間: 2024-9-26 19:45
看你定義的數(shù)組在30K大小,你得先看看是不是必須得把30k數(shù)據(jù)接收完了才能處理,一般很少有應(yīng)用必須收到30K數(shù)據(jù)才做處理的情況,可能方案你得自己優(yōu)化一下。
- 如果后面你的方案是從串口一邊收數(shù)據(jù)一邊處理,那可以考慮生產(chǎn)-消費(fèi)的模型,串口利用中斷的方式不停往fifo里塞數(shù)據(jù),而主循環(huán)里不停的從fifo取數(shù)據(jù)處理,這樣可以將使用ram的空間(fifo空間)降到很低的范圍
- 如果你就非得收齊30k數(shù)據(jù)才做處理,那估計(jì)你需要加個(gè)額外的器件,比如sd卡,外部flash這種,將收到的數(shù)據(jù)先放到這些容量大的器件里,然后再將數(shù)據(jù)讀到ram里處理




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1