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

发布于 2024-11-30 14:49:24 字数 242 浏览 0 评论 0原文

更新了问题,使其不再那么模糊。

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

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


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

Updated question to be less vague.

I plan to log sensor data by time so something like sqlite would be perfect, but it requires too much resources in something like an atmega328p. Most of the searching will be done off the uC.

What do other people use? Flat text files? XML? A more complicated data structure?


Thanks for the feedback. It is good to know what other people are using. I've decided to serialize my data structures and save them in a binary file to eliminate string processing on the uC for now.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瞳孔里扚悲伤 2024-12-07 14:49:24

尽管几年前我已经在类似的项目中使用过平面文本文件,但我相信对于该环境来说这仍然是一个很好的方法。由于您不需要在片上处理数据,因此您希望它尽可能高效(开销尽可能小)。

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

I've used flat text files for similar projects, albiet years ago, but I believe it's still a good approach for that environment. Since you don't need to process the data on-chip, you want it to be as efficient as possible (as little overhead as possible).

However, if you want more flexibility and weren't as concerned about space, perhaps saving JSON objects would be better, where each field is identified clearly. A tiny bit of overhead for creating the objects, but allows you to add and remove fields without complex logic on the interpreting side. I would pick JSON over XML just because you have about half the overhead (in space, and probably in processing).

故人爱我别走 2024-12-07 14:49:24

对于像 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 或闪存是最好的。

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

With a small micro-controller like the 328, it is very important to determine the space requirements.

How big is each record? How many records do you want to store? How will you get the records off of the micro-controller?

Like Doug, I usually use a flat text to store data. So each record might contain year, day of the year and a value if I am storing a value once a day.

The file would look like:

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

You could store approximately 90-100 records, requiring you to dump the data every three months

If you need more then the 1kEEprom holds (200 5 byte records, 100 10 byte records or simliar) then you will need additional memory using an IC, SD or Flash.

If you want to unplug the memory and plug it into a PC, then the SD or Flash would be best.

You could use a vinculum chip from FTDIChip.com to simplify writing the fat files to flash drive.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文