Fatfs文件系统循环多次向文件写内容出现f_write返回值为1的情况

2019-07-14 16:36发布

各位,大家好,小弟最近在做文件系统存储相关的工作,就是用Cubemx生成文件系统和SDIO,那么我的问题来了
在向文件写内容的时候

result= f_write(&File_Element.fil,File_Element.Fatfs_Buf,sizeof(File_Element.Fatfs_Buf), &File_Element.bwee);        
printf("f_write1=%d ",result);


循环多次向文件写内容,那么就可能会出现f_write返回值为1的情况,而且是没有规律的
我看了这个错误的解释是:FR_DISK_ERR,                        /* (1) A hard error occurred in the low level disk I/O layer */
说是底层硬件错误,

有没有人做过这方面的工作,大神给点指点
在线等
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
maobs20
2019-07-15 22:02
KathySAGER 发表于 2018-10-25 07:38
我觉得堆内存大小不够的可能性还是有的,你可以调一下堆内存的大小试试。

都改成0x1000,现在又来问题来:用文件系统操作sdio,cubemx里配置的生成的工程,现在的问题就是,每秒写2500字节左右,连续写4个小时的时候,f_mount或者f_open或者f_write就会返回错误说是错误信息:FR_DISK_ERR,这个错误的意思说是(1) A hard error occurred in the low level disk I/O layer */就是底层硬

一周热门 更多>