fatfs檔案系統靈活易用,很適合小型嵌入式系統的開發,比如漢字儲存或者將感測器測得的實時資料直接儲存到tf/sd卡中,避免了記錄實驗資料的繁重工作,也提高了後期進一步處理資料的效率。
fatfs檔案系統參考手冊和
本次試驗採用的是最新的ff12,版本之間的差異詳見版本說明。
1.新建工程:新版本直接加入了unicode的編碼形式,直接將diskio.c和ff.c以及unicode.c加入專案中,並根據實際專案作相應修改,本文最後將附上整個專案的**。
2.主函式:先將資料存入tf卡中,再進行讀取操作,最後將寫入的資料列印到串列埠。
f_mount(&fs, "", 0); // register work area to the default drive
if ( res == fr_ok )
ff12中開啟檔案的方式有以下幾種:
我們只是將資料追加到檔案的末尾,不對原檔案進行覆蓋,保持資料的豐富性。f_lssek每次都將檔案指標移動到檔案末尾,方便追加資料操作。每次寫完資料要記得關閉檔案。
3.將其他型別的資料轉換為字串型輸出:f_write操作只支援以字串的形式寫入資料,因此,對於整形、浮點型資料需要先轉換為字串儲存在字元陣列中。sprintf函式的使用方法類似於printf,可參考其使用形式。
sprintf(datatemp, "%.3f | %.3f | %.3f | %.3f \r\n",databuffer[0], databuffer[1], databuffer[2],databuffer[3] );
式中datatemp為字元陣列,databuffer為需要寫入檔案的浮點陣列。
fatfs檔案系統
使用stm32cubemx新增fatfs下的user defined,開啟工程,檢視 可以發現 中先呼叫了mx fatfs init 函式,而此函式又呼叫了 fatfs linkdriver 函式,繼續查詢fatfs linkdriver 函式,發現此函式第乙個變數為diskio drvtypede...
FATFS檔案系統
二 修改fatfs 主要修改底層裝置驅動函式 diskio.c 目的 就是把 diskio.c 中的函式介面與spi flash 晶元驅動連線起來。總共有五個函式,分別為裝置狀態獲取 disk status 裝置初始化 disk initialize 扇區讀取 disk read 扇區寫入 disk...
SD卡的讀寫和FatFS檔案系統
u8 spi readwritebyte u8 txdata spi匯流排讀寫乙個位元組 u8 sd waitready void 等待sd卡就緒 u8 sd sendcommand u8 cmd,u32 arg,u8 crc sd卡傳送乙個命令 u8 sd sendcommand nodeasse...