通过fatfs 向 读卡器写入数据写第二个文件失败,f_open() 返回FR_NO_FILESYSTEM


环境:

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盘是不需要的.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM