1

更新的问题不那么含糊。

我计划按时间记录传感器数据,所以像 sqlite 这样的东西会很完美,但它需要像 atmega328p 这样的东西太多的资源。大多数搜索将在 uC 之外完成。

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


感谢您的反馈。很高兴知道其他人在使用什么。我决定序列化我的数据结构并将它们保存在二进制文件中,以暂时消除 uC 上的字符串处理。

4

2 回答 2

2

几年前,我已经在类似的项目中使用过纯文本文件,但我相信它仍然是那种环境的好方法。由于您不需要在芯片上处理数据,因此您希望它尽可能高效(尽可能少的开销)。

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

于 2011-08-19T18:47:13.167 回答
1

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

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

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

该文件如下所示:

11,314,100<cr>
11,315,99<cr>
11,316,98<cr>
11,317,220<cr>

您可以存储大约 90-100 条记录,要求您每三个月转储一次数据

如果您需要比 1kEEprom 更多的容量(200 个 5 字节记录、100 个 10 字节记录或类似的),那么您将需要使用 IC、SD 或闪存的额外内存。

如果您想拔下内存并将其插入 PC,则最好使用 SD 或 Flash。

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

于 2011-08-20T01:53:24.373 回答