FTAFS移植f_mount 挂载成功f_open失败问题(1)

最近在调试fatfs文件系统,源代码是0.10a代码顺带参考原子0.09的程序,我的代码中没有使用中文也就是_USE_LFN  设置为零,其次没有使用内存分配,sd_mmc.c是从fat32文件爱系统移植过来,可以正常播放MP3,我的主控是STM32F103RB芯片,移植完后,

在main里边如下

FATFS *fatfs;

FIL *file;

u32 *total;

u32 *free;

int main()

 RESULT  res;

bsp_init();//初始化程序都在里边完成

res=sd_inti();

if(res)

{

printf("init falier");

}

else{//}

res=f_mount(fs,"0:",1);

res=exfuns_getfree("0",total,free);

while(1);

在调试中发现sd卡初始化成功,也就是返回值为零,

挂载也返回零,然后读取sd卡大小时

res返回12;

对应的值得意思是工作区没有。后来改成f_open(file,"0:123.txt",FA_CREATE_ALWAYS|FA_CREATE_NEW)结果返回9,又说路径无效。

今晚回去好好看硬件spi有没有接反。

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,   /* (3) The physical drive cannot work */
 FR_NO_FILE,    /* (4) Could not find the file */
 FR_NO_PATH,    /* (5) Could not find the path */
 FR_INVALID_NAME,  /* (6) The path name format is invalid */
 FR_DENIED,    /* (7) Access denied due to prohibited access or directory full */
 FR_EXIST,    /* (8) Access denied due to prohibited access */
 FR_INVALID_OBJECT,  /* (9) The file/directory object is invalid */
 FR_WRITE_PROTECTED,  /* (10) The physical drive is write protected */
 FR_INVALID_DRIVE,  /* (11) The logical drive number is invalid */
 FR_NOT_ENABLED,   /* (12) The volume has no work area */
 FR_NO_FILESYSTEM,  /* (13) There is no valid FAT volume */
 FR_MKFS_ABORTED,  /* (14) The f_mkfs() aborted due to any parameter error */
 FR_TIMEOUT,    /* (15) Could not get a grant to access the volume within defined period */
 FR_LOCKED,    /* (16) The operation is rejected according to the file sharing policy */
 FR_NOT_ENOUGH_CORE,  /* (17) LFN working buffer could not be allocated */
 FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > _FS_SHARE */
 FR_INVALID_PARAMETER /* (19) Given parameter is invalid */
} FRESULT;

 再次查看过硬件线没有接反!

sitemap