作者:小老特 | 来源:互联网 | 2023-05-18 21:06
环境:STM32F205移植fatfsv.12问题描述:遇见通过fatfs向读卡器写入文件数据时。写入第一个文件正常。过程:先f_mount()然后f_open()。随后写完,f_c
环境:
STM32F205 移植 fatfs v.12
问题描述:
遇见通过fatfs 向 读卡器写入文件数据时。
写入第一个文件正常。
过程:先f_mount()然后f_open()。随后写完,f_close(&fdst)关文件,f_mount(NULL, "0:", 0)卸载挂载。
同样方法操作第二个文件。
在写入第二个文件时,f_mount()与f_open()均报错(FR_NO_FILESYSTEM)。即提示找不到文件系统.
-------------------------------------------------------------------------------------
用KingstonU盘,没有上面问题;用读卡器存在上面的问题。
经过分析:没有必要写完一个文件重新卸载再挂载U盘。是不是这里出了问题呢?
怀疑读卡器卸载掉之后关闭了某些电器特性的器件造成的,而U盘没有这种情况。
解决:
改为挂载1次后,写完多个文件,后再卸载文件系统。发现可以写入多个文件,问题解决了.
是由于之前写完一个文件就卸载分区,然后再重新挂载新写入造成的,猜测读卡器在卸载后,需要重新上电才能挂载的.而U盘是不需要的.