ADC实时采样数据存储在SD卡

2019-08-14 01:08发布

小菜鸟一只~正在做一个小项目,需要将ADC采样的数据存储在SD卡。我现在已经会把缓存区内的数据写入SD卡中的.TXT文档中,但是还是不能把实时的AD采样值存储进去,希望大神求教!感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
流畅笔记
1楼-- · 2019-08-15 11:39
你的问题解决了吗?如果是1S钟进行500次采样,那种方案比较容易实现呢?.  1.每采样一次进行存储一次,也就是2ms存储一次,这种做法出现数据掉失。请问你有什么好的想法解决这种问题吗?
Crime毛豆
2楼-- · 2019-08-15 13:16
 精彩回答 2  元偷偷看……
田田园
3楼-- · 2019-08-15 18:18
请问如果一直显示Fatfs Error,那是哪里出了问题
mack13013
4楼-- · 2019-08-15 20:27
首先,不要小数据量频繁写入,在内存开辟一个缓冲区,4K或者1分钟的采集量大小的缓冲区。然后写入的时候不要频繁open文件,仅仅open一次就好了,不要close,采集完再close。
最关键的地方,就是文件写入了,写入之后flush(sync?),那样,即使文件没有close,数据也是已经写入了的,出现意外,最大的损失量也不过是缓冲区(缓冲区也不要擦除,不停的写,注意对齐就可以了)里的数据,SD卡不损坏,SD卡上已经写入的数据是不会损失的
小韩天真
5楼-- · 2019-08-15 20:51
mack13013 发表于 2017-5-12 14:00
首先,不要小数据量频繁写入,在内存开辟一个缓冲区,4K或者1分钟的采集量大小的缓冲区。然后写入的时候不 ...

您好。如果一次性大量的写,会不会造成采样的中断呢?
mack13013
6楼-- · 2019-08-16 00:12
小韩天真 发表于 2017-9-15 15:33
您好。如果一次性大量的写,会不会造成采样的中断呢?

如果单片机没有ucos之类的系统,单纯跑裸机,一次性大量的写,是会造成采样中断的(我把采集过程放到级别比较高的中断里也不行【因为我没处理好已采集的但是没存储的数据和新采集的数据覆盖旧数据的问题,后来干脆不用这种方式了】)

总之,尽量不突发,尽量使你的任务均匀

一周热门 更多>