f_mount(&fs," ", 1); 立刻报错fr_disk_err或者fr_not_ready 尝试过的方法:1. 4bits改为1bits...
f_mount is ok, but f_open after around 30s gives back an FR_DISK_ERR . When there is no card in the socket I'm getting fast FR_NOT_READY return. When exacuting f_open the funcion stucks on line 3050 from ff.c fmt = check_fs(fs, bsect); /* Load sector ...
二、FATFS原理 1、底层接口,包括存储媒介读/写接口(disk I/O)和供给文件创建修改时间的实时时钟,...
= FR_OK){ to_int.put_str("Write error");break; }if(f_write(&fil, wtext,sizeof(wtext), (void*)&wbytes) != FR_OK){//<---FR_DISK_ERRto_int.put_str("Write Error\n");break; } f_sync(&fil); f_close(&fil); f_mount(0,"0:",0); to_int.put...
我用F4做录音器,也遇到类似的问题,就是连续写SD卡的时候,很容易出现FR_DISK_ERR错位。后来把写扇区...
比较新的支持USB3.0的U盘(只测试了少数几个),f_mount()就会返回FR_DISK_ERR;其它的非3.0的,...
disk_initialize: 主要是使用对应底层的初始化函数;对应的API函数是 f_mount() 函数。 该函数需要返回值是各种定义好的宏,如果对应的初始化函数没有返回值的话,可以采取读取ID芯片来校验是否初始化成功(经常这么干的,像使用mpu6050时就是)。(也可以直接调用上面的disk_status函数来检测) ...
问题没表述清楚,f_open的返回不为零的可能性有很多种,你可以根据具体的返回值,找到错误类型 下面是具体的错误类型:typedef enum { FR_OK = 0,/* (0) Succeeded */ FR_DISK_ERR,/* (1) A hard error occurred in the low level disk I/O layer */ FR_INT_ERR,/* (2) Assertion ...
if ( checkFRESULT ( res ) == 0 ){ printf("\r\n打开文件(读操作)失败 \r\n");} else ...
f_open的返回不为零的可能性有很多种,可以根据具体的返回值,找到错误类型。 下面是具体的错误类型: typedef enum {FR_OK = 0, /* (0) Succeeded */ FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */ FR_INT_ERR, /* (2) Assertion failed */ FR_NOT_READY...