『壹』 FATFS怎麼支持長文件名和漢字
讀寫長文件名測試成功,必須在調用f_readdir前為長文件名分配內存.代碼如下:版
#if _USE_LFN
static char lfn[_MAX_LFN * (_DF1S ? 2 : 1) + 1];
finfo.lfname = lfn;
finfo.lfsize = sizeof(lfn);
#endif
這個在文件系統作權者的幫助文檔里有描述。由於沒有空間放中文碼表,所以用437代碼頁,可以用ASCII長文件名。已測試通過。
可以試試中文碼長文件名.
『貳』 如何設置FatFs文件系統支持長文件名
FatFs是一個通用的文件系統模塊,用於在小型嵌入式系統中實現FAT文件系統。 FatFs 的編寫遵循ANSI C,因此不依賴於硬體平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, SH, Z80, H8, ARM 等等,不需要做任何修改。
FAT12, FAT16 與 FAT32.多個卷(物理驅動器與分區).兩種分區規則: FDISK 與 Super-floppy.多種配置選項:長文件名支持。可選的編碼頁,包括DBCS(譯者:DBCS為雙位元組字元系統 Double Byte Char Systems )多任務支持只讀,最小化API,緩沖區配置等等應用程序介面
H
『叄』 fatfs文件系統支持多少文件
fatfs文件系統支持4GB文件。
disk_initialize()等函數是FATFS底層的幾個介面,移植實現後,FATFS的操作跟WINDOWS上的文件操作差不多一樣,FATFS源代碼里有說明文檔自己看,不過設備要先掛載,如果原來的設備沒有文件系統,還要格式化一下,才能用。
對於FAT16文件系統,可以保存的文件體積最大值是4 GB - 1 byte (2^32 bytes - 1 byte);卷的最大體積是4GB;每個卷上最多可以保存的文件數量是65,536個 (2^16);根目錄下可以保存的文件和文件夾數量最大值是512個(如果使用了長文件名,該數字還會減小)。
FatFs 提供下面的函數:
f_mount - 注冊/注銷一個工作區域(Work Area)
f_open - 打開/創建一個文件
f_close - 關閉一個文件
f_read - 讀文件
f_write - 寫文件
f_lseek - 移動文件讀/寫指針
f_truncate - 截斷文件
f_sync - 沖洗緩沖數據 Flush Cached Data
f_opendir - 打開一個目錄
f_readdir - 讀取目錄條目
f_getfree - 獲取空閑簇 Get Free Clusters