c - AVR FAT 驱动程序设计

标签 c embedded avr fat32 fat

标题可能会误导人,但我觉得写不出一个准确的标题。抱歉。

我正在为 AVR 开发一个“部分”FAT32 驱动程序,用 C 语言编写。我正在尝试编写一个函数,基本上从目录中读取 4 个有效条目(跳过 LFN 和空条目)到缓冲区中.该函数跟踪当前集群,以及集群内的当前偏移量(以 32 递增,因为条目为 32 字节)。

现在我的问题是,我需要函数能够向前读取四个条目(例如,从当前偏移量开始的接下来的 4 个条目),或向后读取四个条目(在当前偏移量之前)。我现在的问题是向后读取时的边缘情况,您可能在当前集群上有一些条目,在前一个集群上有一些条目。我是否应该跟踪数组中已读取的所有簇号以便向后遍历?我只是在寻找一些关于什么是优雅解决方案的指示。

提前致谢!

最佳答案

这取决于你可用的 RAM,但是当你不需要很快得到结果时,我建议不要缓存内容。

顺便说一句。你为什么要重新发明轮子?您可以只使用像 elm 的胖文件系统这样的东西。

关于c - AVR FAT 驱动程序设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244810/

相关文章:

c - avr sleep 模式和唤醒

c - 将 simulavr 与 avr-gdb 一起使用时抛出奇怪的异常

c - 内存地址如何知道数组的长度?

c - 无法理解 C 程序的输出

c - 传递 'memcpy' 的参数 2 会丢弃来自指针目标类型的 'volatile' 限定符

c - 是否可以在 Arduino 平台上扫描所有可用的 SSID?

c - 局部静态变量是嵌入式编译器提供的吗?

c - ADC 不适用于 ATMEGA8

c - mmap 期间 memcpy 重叠的段错误

c - 需要帮助创建没有多次返回的递归函数