Microcontroller 当使用8位微控制器将数据记录到FAT32文件系统时,人们使用什么文件格式?

Microcontroller 当使用8位微控制器将数据记录到FAT32文件系统时,人们使用什么文件格式?,microcontroller,fat32,Microcontroller,Fat32,将问题更新为不那么含糊 我计划按时间记录传感器数据,这样类似sqlite的东西就完美了,但它需要太多的资源,比如atmega328p。大部分搜索将在uC之外完成 其他人用什么?平面文本文件?XML?更复杂的数据结构 谢谢你的反馈。知道别人在用什么是好的。我决定序列化我的数据结构,并将其保存在二进制文件中,以消除uC上的字符串处理。几年前,我在类似的项目中使用了平面文本文件,但我相信这仍然是一种适合该环境的好方法。因为您不需要在芯片上处理数据,所以希望它尽可能高效(开销尽可能小) 然而,如果您想

将问题更新为不那么含糊

我计划按时间记录传感器数据,这样类似sqlite的东西就完美了,但它需要太多的资源,比如atmega328p。大部分搜索将在uC之外完成

其他人用什么?平面文本文件?XML?更复杂的数据结构



谢谢你的反馈。知道别人在用什么是好的。我决定序列化我的数据结构,并将其保存在二进制文件中,以消除uC上的字符串处理。

几年前,我在类似的项目中使用了平面文本文件,但我相信这仍然是一种适合该环境的好方法。因为您不需要在芯片上处理数据,所以希望它尽可能高效(开销尽可能小)


然而,如果您想要更大的灵活性,并且不太关心空间,那么保存JSON对象可能会更好,因为每个字段都被清楚地标识出来。创建对象的开销很小,但允许添加和删除字段,而无需解释端的复杂逻辑。我之所以选择JSON而不是XML,是因为您有大约一半的开销(在空间上,可能在处理上)。

对于328这样的小型微控制器,确定空间需求非常重要

每张唱片有多大?您要存储多少条记录?您将如何从微控制器中获取记录

像Doug一样,我通常使用平面文本来存储数据。因此,如果我每天存储一次值,则每个记录可能包含年份、日期和一个值

该文件看起来像:

11,314,100<cr>
11,315,99<cr>
11,316,98<cr>
11,317,220<cr>
11314100
11,315,99
11,316,98
11,317,220
您可以存储大约90-100条记录,需要每三个月转储一次数据

如果您需要的内存超过1kEEprom的容量(200条5字节记录、100条10字节记录或模拟),则需要使用IC、SD或闪存的额外内存

如果你想拔下内存并将其插入PC,那么SD或Flash将是最好的选择

您可以使用FTDIChip.com上的vinculum芯片简化将fat文件写入闪存驱动器的过程