通過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