:)对FatFS进行必要的调整以使其与Arduino一起工作
首先请原谅我的英语不好。我希望你能理解我的写作。
我的目标是为学生项目构建一个高精度(24位)数据记录器,将数据存储到SD卡。我使用Arduino Due(ATSAM3X8E)和一个带SD卡连接器的自制护罩。
此外,我使用Atmel Studio 6.2和ASF库“SPI接口上的SD/MMC堆栈” 和“FatFS文件系统”。
只用spi写入和读取sd/mmc模块,但没有文件系统是完全可能的。所以硬件正常工作。
我想我的错可以在FatFS模块中本地化。
main.c中我调用以下功能:
sd_mmc_init();
sd_mmc_check(SD_SLOT); //直到这个程序工作,我可以用终端窗口读写有效值
f_mount(LUN_ID_SD_MMC_0_MEM,& fs);
//它会返回FR_OK,但仍然可能是第一个小错,因为我不确定我选择了正确的LUN。
- f_open(& FILE_OBJECT,(字符常量*)test_file_name,FA_CREATE_ALWAYS | FA_WRITE);
//这里出现错误FR_DISK_ERR //当我跟随误差较低的水平我来给功能: - chk_mounted(&路径,& dj.fs,(BYTE)(模式&〜FA_READ )); - fmt = check_fs(fs,bsect = 0); - 然后在作为diskio.c的一部分的最低水平我disk_read功能(附加)
后,它必须遵循的功能f_puts和f_close(& FILE_OBJECT);但没有f_open,他们不能工作。
我附加了我的diskio.c文件,其中分配了导致错误的disk_read文件。
我真的希望有人能帮助我。 谢谢你的所有答案和提示!
在项目中实际实现时,我认为将定义添加到board.h或者直接添加到项目编译器定义中会更清晰。 –