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

转载于:https://www.cnblogs.com/doubaozi/p/7018879.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值