= 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_st...
if (res != FR_OK) while(1); /* USER CODE END 2 */ 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 ...
但是在main函数中发现调用函数f_mkfs((TCHAR const*)SDPath, 0, 0);时返回FR_DISK_ERR错误。单步调试发现错误发生在文件dickio.c中的函数disk_write,该函数的定义如下: #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, ...
处理:f_getfree检测FAT卷空间,如果返回是FR_NO_FILESYSTEM,说明没有格式化过,进行格式化。 问题3:格式化失败(返回FR_DISK_ERR)【此时的BLOCK_SIZE参数是错误的】 原因:diskio.c中底层写入函数入口判断错误,入口判断参数是否正常时if(sector > SEC_MAX || sector + count > SEC_MAX)returnRES_PARERR;出错,第...
处理:f_getfree检测FAT卷空间,如果返回是FR_NO_FILESYSTEM,说明没有格式化过,进行格式化。 问题3:格式化失败(返回FR_DISK_ERR)【此时的BLOCK_SIZE参数是错误的】 原因:diskio.c中底层写入函数入口判断错误,入口判断参数是否正常时if(sector > SEC_MAX || sector + count > SEC_MAX)returnRES_PARERR;出错,第...
disk_read: 主要是对底层介质的读取多个扇区函数,注意要提供好对应它的参数的接口函数,返回值是RES类(也是宏定义好的类型 0x00 RES_OK ; 0x01 RES_ERROE; …… ),对应的API函数是 f_read() 函数。 移植时,主要是提供底层介质的读取函数,注意其所需参数,因为上层对介质的读写操作最小单位是扇区,所以对底...
用CubeMX生成Freertos+FATFS,FATFS版本提示为R0.12c,CubuMX版本升级成了V5.5 遇到3个问题: 1. 返回FR_DISK_ERR,经查, 中断状态判断不对,没有进入相应的函数,不能发送消息队列,从而造成一直在等待消息队列。查了网上的信息,该有的都有了,不知道怎么解决。 2.相比火哥的教程,这个函数多了后面两个参数 3.只要...
f_mount(&fs," ", 1); 立刻报错fr_disk_err或者fr_not_ready 尝试过的方法:1. 4bits改为1bits...
问题没表述清楚,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 ...
我用F4做录音器,也遇到类似的问题,就是连续写SD卡的时候,很容易出现FR_DISK_ERR错位。后来把写扇区...