|
看你定义的数组在30K大小,你得先看看是不是必须得把30k数据接收完了才能处理,一般很少有应用必须收到30K数据才做处理的情况,可能方案你得自己优化一下。 - 如果后面你的方案是从串口一边收数据一边处理,那可以考虑生产-消费的模型,串口利用中断的方式不停往fifo里塞数据,而主循环里不停的从fifo取数据处理,这样可以将使用ram的空间(fifo空间)降到很低的范围 - 如果你就非得收齐30k数据才做处理,那估计你需要加个额外的器件,比如sd卡,外部flash这种,将收到的数据先放到这些容量大的器件里,然后再将数据读到ram里处理 |
|
换芯片,STM32H750VB,SRAM有1M |
| 可以试试外接flash |
| 之前我也是遇到了类似的问题 需要从sd卡里读一个很大数据量的数组 flash直接爆了 后面也不知道该咋办 |
| 数组的数据量太大, 不需要全部都放在单片机的内部flash空间, 可以用25Q16/128的SPI接口的外部储存保存. |
| 跟发送方沟通好协议,分段发送,处理完一段给标志,继续发送 |
| 不用问了,对速度要求快,不可能有其他方法 |
| 这33000个字节都有用么?可以每接收1000个处理一下,保留有用的数据。 |
| 没用的,我试过。最好用其他外设存起来或者做个200的数组,然后每接受50个对比一次。处理数据稍微卡一下就崩了。 |
| 外扩SRAM |
munuc_w 发表于 2021-3-5 08:25 谢谢老哥了,我先看看采集卡能不能用 |
| RC的RAM是48K,不够用的话,可以换RF,RAM是96K,这是103系列64PIN RAM最大的了。 |