我正在研究微控制器,我正在尝试将一些传感器的一些数据写入 SD 卡上的 .txt 文件,然后将 sd 卡放入读卡器并读取 PC 上的数据。
有谁知道如何从头开始为 FAT32 文件系统编写 .txt 文件?我没有任何要调用的预定义代码/方法/函数,我需要从无到有创建代码。
这不是特定编程语言的问题,这就是为什么我标记了多个。稍后我可以将代码从 C 或 Java 转换为我选择的编程语言。但我似乎无法在任何类型的语言中找到如此低级的方法/功能:)
有任何想法吗?
我正在研究微控制器,我正在尝试将一些传感器的一些数据写入 SD 卡上的 .txt 文件,然后将 sd 卡放入读卡器并读取 PC 上的数据。
有谁知道如何从头开始为 FAT32 文件系统编写 .txt 文件?我没有任何要调用的预定义代码/方法/函数,我需要从无到有创建代码。
这不是特定编程语言的问题,这就是为什么我标记了多个。稍后我可以将代码从 C 或 Java 转换为我选择的编程语言。但我似乎无法在任何类型的语言中找到如此低级的方法/功能:)
有任何想法吗?
FatFs非常好,并且高度便携。它支持 FAT12、FAT16 和 FAT32、长文件名、查找、读取和写入(大多数这些东西都可以打开和关闭以改变内存占用)。
如果你的内存真的很紧,还有 Petit FatFs,但默认情况下它没有写支持,添加它需要一些工作。
FATFS fatFs;
FIL newFile;
// The drive number may differ
if (f_mount(0, &fatFs) != FR_OK) {
// Something went wrong
}
if (f_open(&newFile, "/test.txt", FA_WRITE | FA_OPEN_ALWAYS) != FR_OK) {
// Something went wrong
}
如果您确实需要仅使用自己的代码创建文件,则必须遍历 FAT,寻找空白空间,然后创建新的 LFN 条目(存储文件名的位置)和 DIRENT(指定磁盘上的集群)将保存文件数据)。
除非这是某种家庭作业/实验室练习,否则我看不出这样做的任何理由。在任何情况下,您都应该先阅读一些有关 FAT 结构的内容,并在开始后返回一些更具体的问题。
在JAVA中你可以这样做
Writer output = null;
String text = "This is test message";
File file = new File("write.txt");
output = new BufferedWriter(new FileWriter(file));
output.write(text);
output.close();
System.out.println("Your file has been written");