FAT32文件系统重f_mount,f_open的使用记录

我在做SD卡和U盘挂载的时候遇到的问题记录:

第一个问题

首先我定义了一个文件系统的指针数组和实际存在的结构体,然后对指针数组进行了内存申请,在这里我用的是U盘,设置磁盘为0,

当我使用f_mount挂载fatFs后,再卸载,然后挂载FatFs,显示的是挂载成功,但是实际上当我去对文件进行操作的时候,返回FR_NOT_ENABLED,也就是说明挂载是失败的

经过测试,卸载文件系统的时候,实际上是把指针数组的FatFs[0]的指向清除,也就是清除掉指向的工作区,而不是把原先申请的FatFs[0]的内存释放掉。

第二个问题是也是文件系统的

当我没对文件系统进行挂载时候,直接执行f_open 和f_close 是可以的,当我调用一次f_mount之后,如果下次进行文件系统操作不进行挂载操作,直接执行打开和关闭文件,就不可以了