找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4280|回复: 12
收起左侧

C语言数组数据的量太大STM32程序该怎么处理?

  [复制链接]
ID:417878 发表于 2021-3-4 20:30 | 显示全部楼层 |阅读模式
小弟现在做一个设计,需要对一帧数据做处理,用的STM32F103RCT6,但是这个内存好像不太够,请问各位大哥有什么方法处理吗?
51hei图片_20210304202728.png
51hei图片_20210304202723.png
51hei图片_20210304202502.png
回复

使用道具 举报

ID:752974 发表于 2021-3-5 08:25 | 显示全部楼层
RC的RAM是48K,不够用的话,可以换RF,RAM是96K,这是103系列64PIN RAM最大的了。
回复

使用道具 举报

ID:417878 发表于 2021-3-5 10:48 | 显示全部楼层
munuc_w 发表于 2021-3-5 08:25
RC的RAM是48K,不够用的话,可以换RF,RAM是96K,这是103系列64PIN RAM最大的了。

谢谢老哥了,我先看看采集卡能不能用
回复

使用道具 举报

ID:287575 发表于 2021-3-5 11:07 | 显示全部楼层
外扩SRAM
回复

使用道具 举报

ID:592807 发表于 2021-3-5 13:30 | 显示全部楼层
没用的,我试过。最好用其他外设存起来或者做个200的数组,然后每接受50个对比一次。处理数据稍微卡一下就崩了。
回复

使用道具 举报

ID:827243 发表于 2021-3-5 15:15 | 显示全部楼层
这33000个字节都有用么?可以每接收1000个处理一下,保留有用的数据。
回复

使用道具 举报

ID:879348 发表于 2021-3-5 15:39 | 显示全部楼层
不用问了,对速度要求快,不可能有其他方法
回复

使用道具 举报

ID:883031 发表于 2021-3-5 16:11 | 显示全部楼层
跟发送方沟通好协议,分段发送,处理完一段给标志,继续发送
回复

使用道具 举报

ID:517951 发表于 2024-9-24 08:02 | 显示全部楼层
数组的数据量太大, 不需要全部都放在单片机的内部flash空间, 可以用25Q16/128的SPI接口的外部储存保存.
回复

使用道具 举报

ID:1132533 发表于 2024-9-24 16:25 | 显示全部楼层
之前我也是遇到了类似的问题 需要从sd卡里读一个很大数据量的数组 flash直接爆了 后面也不知道该咋办
回复

使用道具 举报

ID:1132533 发表于 2024-9-24 16:25 | 显示全部楼层
可以试试外接flash
回复

使用道具 举报

ID:828160 发表于 2024-9-25 09:12 | 显示全部楼层
换芯片,STM32H750VB,SRAM有1M
回复

使用道具 举报

ID:342895 发表于 2024-9-26 19:45 | 显示全部楼层
看你定义的数组在30K大小,你得先看看是不是必须得把30k数据接收完了才能处理,一般很少有应用必须收到30K数据才做处理的情况,可能方案你得自己优化一下。
- 如果后面你的方案是从串口一边收数据一边处理,那可以考虑生产-消费的模型,串口利用中断的方式不停往fifo里塞数据,而主循环里不停的从fifo取数据处理,这样可以将使用ram的空间(fifo空间)降到很低的范围
- 如果你就非得收齐30k数据才做处理,那估计你需要加个额外的器件,比如sd卡,外部flash这种,将收到的数据先放到这些容量大的器件里,然后再将数据读到ram里处理
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表