STM32/STM8技术william hill官网
直播中

张先生

8年用户 50经验值
擅长:控制/MCU 控制/MCU
私信 关注
[问答]

怎么将STM32的AD采集到的数据存入到FLASH中

使用STM32F103C8T6,AD采集引脚电压,20us采集一个数,100个数取平均值读出,也就是2ms得到一个数据,现在需要把得到数据存入到外部的W25Q64 FLASH中,通过SPI驱动FLASH, flash驱动程序已经写好,怎么写把得到的数据存入到FLASH中,最好是实时存入。新人求指导!!!!!

回帖(8)

韦声健

2017-1-9 11:22:09

最佳答案

使用缓冲区,2ms得到一个数据,使用SPI flash写入是可以单字节写,也可以页写(256Bytes一页),先将数据存在内存中,采够256Bytes之后,使用页写命令集中写一次,则2*256=512ms写一次,没写完的时候,采到的数据先存入另一组缓冲区,如果复杂一点使用队列一个缓冲区可以搞定。
注意页写一次的时间,采样时间累计必须大于这个时间,看手册有这个时间,肯定是低于512ms的,可能几个ms吧,忘记了。
举报

张先生

2017-1-9 11:22:33
很着急!!!!!!!!!!!!!!!!!!!!!!!!
举报

何健飞

2017-1-9 11:23:25
你数据处理完以后,往SPI总线上写入数据啊~你这芯片不会用?
举报

张先生

2017-1-9 11:28:38
引用: jianfeii 发表于 2017-1-9 11:23
你数据处理完以后,往SPI总线上写入数据啊~你这芯片不会用?

直接一字节一字节写?数据应该会丢失吧
举报

何健飞

2017-1-9 11:34:12
引用: 425551780 发表于 2017-1-9 11:28
直接一字节一字节写?数据应该会丢失吧

写内存地址都是一个一个字节的依次写啊,有什么好丢失的?
举报

梅梦醒

2017-1-9 14:13:35
2ms得到一个数据,1s就是500个数据,就算一个数据占2个字节,那1s就是1K字节数据,你的外部flash够大么?能存多长时间的数据?还有,得到数据以后存入外部flash的时间2ms够不够?如此大量的数据存入外部flash我觉得不可行,我觉得要的到AD值没必要2ms一个,这样的AD值得到了又有什么意义呢?
举报

维塔斯

2017-1-18 20:52:27
多看相关器件的datasheet
举报

xingyusky111

2017-7-3 15:52:37
很全面细致
举报

更多回帖

发帖
×
20
完善资料,
赚取积分