亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fat.h

?? 文件系統,運行硬件環境:單片機,軟件環境:keilc
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __FAT_H__
#define __FAT_H__

#ifdef __cplusplus
extern "C" {
#endif
/*
此程序在keil V7.06下編譯通過,51MCU下調試通過.
2007-4-11
*/
#define F_FAT_VER           0X13                /*程序版本定義*/

/*包含文件*/
#include <LIMITS.H>                             /*提供類型的大小定義*/
#include "TYPE.H"                               /*完成對類型的定義*/
#include "CH375.H"                              /*提供磁盤操作函數*/
#include "OUT.H"                                /*提供串口輸出函數,用于調試*/

/*程序配置*/
/******************************************************************************/
#define FAT_CMD_BUF_LEN     30                  /*命令緩沖區長度(與字節緩沖區共用)從9到256*/
#define FAT_FILE_BUF_LEN    (1*512)             /*文件緩沖區從1*512到255*512*/
#define FAT_CHAIN_LENGTH    20                  /*構建有用簇鏈表的深度1到255*/
/*以上配置根據需要進行改寫*/

/*大小端配置及是否使用DSP*/
#define MCU_USE_BIG_ENDIAN  1                   /*1(CHAR_BIT=8)大端的MCU,0為小端*/
#define MCU_USE_DSP         0                   /*1(CHAR_BIT=16),否則不是*/

/*以下 1為加入對此類型的文件系統支持,0 取消支持,減少占用空間(確定所用磁盤的文件系統
類型時使用)*/
#define F_USE_FAT32         1                   /*是否支持FAT32文件系統*/
#define F_USE_FAT16         1                   /*是否支持FAT16文件系統*/
#define F_USE_FAT12         1                   /*是否支持FAT12文件系統*/

/*其它配置*/
#define F_EN_ADD_EDN        0                   /*1為允許在文件末尾添加數據,0為禁止(只對扇區方式有效)*/
#define F_EN_ENUM_BACK      0                   /*1為允許枚舉文件時 調用回調函數,0為禁止*/
#define F_EN_WRITE          1                   /*1為允許寫磁盤,0為禁止寫*/ 
#define F_EN_BYTE           1                   /*1為允許字節方式操作 0為禁止*/
#define F_RE_TIME           0X03                /*讀寫扇區重試次數*/

#define F_EN_LONG_NAME      0                   /*1為在fat_fopen時收集長文件名,0為不收集*/

#if     F_EN_LONG_NAME == 1
#define F_LNAME_BUF_LEN     (10*26)             /*存放顯示長文件名緩沖區長度從1*26到20*26*/
#endif

/*以下對文件系統配置進行檢測*/
#if ((F_USE_FAT32 == 0)&&(F_USE_FAT16 == 0)&&(F_USE_FAT12 == 0))
#error 至少要選擇一種文件系統
#endif

#define STATIC static
/******************************************************************************/

/*基礎宏定義*/
/******************************************************************************/
#define F_CREATE_NEW        0X00                /*創建一個文件,存在返回錯誤*/
#define F_CREATE_ALWAYS     0X01                /*文件存在,刪除后再建*/

#define F_STRAT_MODE        0X00                /*第一次開始收集有用簇*/
#define F_CONTI_MODE        0X01                /*繼續收集有用簇*/

#define F_FALSE             0x00                /*用在初始變量*/
#define F_TRUE              0X01

#define F_TYPE_FAT12        0X01                /*文件系統為FAT12*/
#define F_TYPE_FAT16        0X02                /*文件系統為FAT16*/
#define F_TYPE_FAT32        0X03                /*文件系統為FAT32*/

#define F_FILE_OPENED       0X00                /*文件成功打開*/
#define F_FILE_CLOSED       0X01                /*文件已經關閉*/

#define F_OPEN_FILE         0X00                /*打開文件*/
#define F_OPEN_DIR          0X01                /*打開目錄*/

#define F_FIND_DELETEF      0X00                /*發現刪除文件*/
#define F_NON_FIND_DELETEF  0X01                /*沒有發現刪除文件*/

#define F_OPEN_MODE         0X00                /*打開文件模式*/
#define F_FIND_MODE         0X01                /*查找此目錄下的第一個刪除文件*/

#define F_DIR_NOT_FUL       0X00                /*當前目錄還有空間創建文件*/
#define F_DIR_FUL           0x01                /*當前目錄沒有空間創建文件*/

#define F_DISK_NOT_END      0X00                /*磁盤還有空間可用*/
#define F_DISK_END          0X01                /*磁盤空間用完*/

#define F_GET_A_CLUSTER     0X00                /*得到一個空的簇*/
#define F_GET_CLUSTER_ARRY  0X01                /*構建一個空簇鏈表*/
#define F_COUNT_FREEC       0X02                /*統計當前有多少可用的簇*/

#define F_FIRST_IN          0X00                /*第一次進入次函數*/
#define F_NOT_FIRST_IN      0X01                /*不是第一次進入此函數*/

#define F_DELETE_FAT        0X00                /*刪除FAT表*/
#define F_DESIGN_FAT        0X01                /*構建FAT表*/

/*用于初始化文件系統*/
#define MBR_START_SECTOR    ((UINT32)0)         /*MBR開始扇區地址*/
#define PARTITION_ACTIVE    ((UINT8)0X80)       /*活分區標志*/
#define MAX_CLUSTERS12      ((UINT16)4084)      /*小于則是FAT12*/
#define MAX_CLUSTERS16      ((UINT16)65524)     /*大于則是FAT32*/

#define SECTOR_SIZE         ((UINT16)512)       /*支持分區大小*/
#define DIR_SIZE            ((UINT8)32)         /*支持目錄名長度*/

/*文件屬性定義*/
#define ATTR_FILE           ((UINT8)0X00)       /*通常屬性*/
#define ATTR_READ_ONLY      ((UINT8)0X01)       /*只讀屬性*/
#define ATTR_HIDDEN         ((UINT8)0X02)       /*隱藏屬性*/
#define ATTR_SYSTEM         ((UINT8)0X04)       /*系統屬性*/
#define ATTR_VOLUME_ID      ((UINT8)0X08)       /*卷標屬性*/
#define ATTR_DIRECTORY      ((UINT8)0X10)       /*目錄屬性*/
#define ATTR_ARCHIVE        ((UINT8)0X20)       /*存檔屬性*/
#define ATTR_LFN_ENTRY      ((UINT8)0X0F)       /*長文件名屬性*/
#define ATTR_ROOT_DIR       ((UINT8)0X90)       /*根目錄屬性*/

#define FILE_EMPTY          ((UINT8)0X00)       /*文件空*/
#define FILE_DELETED        ((UINT8)0XE5)       /*文件刪除標志*/

/*簇相關定義*/
#define EMPTY_CLUSTER       ((UINT32)0X00000000)  /*空的簇(FAT12/16/32)*/
#define LAST_CLUSTER_12     ((UINT32)0X00000FF7)  /*大于等于此簇為最后一簇FAT12*/
#define LAST_CLUSTER_16     ((UINT32)0X0000FFF7)  /*大于等于此簇為最后一個簇FAT16*/
#define LAST_CLUSTER_32     ((UINT32)0X0FFFFFF7)  /*大于等于此簇為最后一簇(FAT32)*/
#define UPDATE_CLUSTER      ((UINT32)0X0FFFFFFF)  /*用于更新FAT簇*/


/*函數宏*/
#define MDATE( y, m, d )    (((y-1980)<<9) + (m<<5) + d )       /*生成文件時間*/
#define MTIME( h, m, s )    ((h<<11) + (m<<5) + (s>>1) )        /*生產文件日期*/
#define LOW( WD )           ((UINT8)(((UINT16)(WD)) & 0X00FF))  /*得到一個字的低位*/
#define HIGH( WD )          ((UINT8)(((UINT16)(WD)) >> 8))      /*得到一個字的高位*/

#define uchar_read_data(i)    fat_disk_buffer[i]                /*從緩沖區里讀取一個字節*/
#define uchar_write_data(i,d) fat_disk_buffer[i]=d              /*緩沖區里寫入一個字節*/

/*函數返回定義*/
#define F_OK                0X00                /*正確返回*/
#define F_ERROR             0X01                /*錯誤返回*/

#define PARAMETER_CMD_ERR   0X02                /*參數錯誤*/
#define READ_DATA_ERR       0X03                /*讀數據出錯*/
#define WRITE_DATA_ERR      0X04                /*寫數據出錯*/
#define NO_FREE_ROOM_ERR    0X05                /*磁盤空間不夠*/
#define BUFFER_OVERFLOW_ERR 0X06                /*存放簇鏈的數組緩沖區溢出錯誤*/
#define NO_FREE_DIR_ERR     0X07                /*在根目錄下沒有空間來創建文件(FAT12/16)*/
#define CMDBUF_OVERFLOW_ERR 0X08                /*命令緩沖區溢出錯誤*/
#define NO_DEF_ADD_ERR      0X09                /*沒有允許向文件尾部添加數據*/

#define FILE_EXIST_ERR      0X0A                /*文件或文件夾存在錯誤*/
#define NOT_FIND_FILE_ERR   0X0B                /*沒有發現文件*/
#define NOT_FIND_DIR_ERR    0X0C                /*沒有發現目錄*/
#define FILE_DIR_FAT_ERR    0X0E                /*文件或目錄的FAT表破壞*/
#define FILE_NOT_OC_ERR     0X0F                /*文件沒有打開或以關閉錯誤*/

#define NO_DEF_FAT_ERR      0X10                /*此文件系統支持,但沒有使用此文件系統錯誤*/
#define NO_SUPPORT_FS_ERR   0X11                /*不支持此類型的文件系統*/
#define SET_ENDIAN_ERR      0X13                /*大小端設置錯誤*/
#define PART_ACTIVE_ERR     0x14                /*MBR分區激活標志錯誤*/
#define SECTOR_SIZE_ERR     0x15                /*只支持扇區大小為512字節的磁盤*/

#define NO_LONG_NAME_ERR    0X20                /*沒有發現長文件名*/
#define BAD_LONG_NAME_ERR   0X21                /*壞的長文件名*/
#define LNAME_BUFF_OVER_ERR 0X22                /*長件名緩沖區溢出錯誤*/

#define ENUM_FILE_OK        0XFF                /*成功枚舉到一個文件*/

                                                /*以下防止初始化不成功*/
#define fat_filesys_check()   if(fat_type_sign ==0) return NO_SUPPORT_FS_ERR;
/******************************************************************************/

/*程序使用全局變量*/
/******************************************************************************/
/*定義結構體類型*/
typedef union
{
    struct
    {
        UINT8   buffer[ FAT_CMD_BUF_LEN ];
    } all;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区私人影院日本| 欧美一区二区在线免费观看| 亚洲成人av电影| 久久综合色播五月| 91成人在线观看喷潮| 国产乱人伦精品一区二区在线观看| 国产精品久线在线观看| 日韩欧美国产一区二区在线播放| 色综合久久久久网| 精品中文字幕一区二区小辣椒 | 精品欧美乱码久久久久久1区2区| 不卡一二三区首页| 激情欧美一区二区| 日日欢夜夜爽一区| 亚洲柠檬福利资源导航| 欧美激情一区二区三区蜜桃视频| 欧美男生操女生| 色八戒一区二区三区| 国产成人丝袜美腿| 精品一区二区三区香蕉蜜桃| 亚洲电影在线播放| 亚洲日本va在线观看| 国产精品色婷婷久久58| 久久精品人人做人人爽人人| 欧美成人aa大片| 7777女厕盗摄久久久| 欧美吞精做爰啪啪高潮| 不卡av在线网| av在线一区二区| 成人午夜av影视| 国产电影一区二区三区| 日韩av在线发布| 日韩主播视频在线| 日韩成人免费看| 日日夜夜精品视频天天综合网| 亚洲精品国产视频| 樱桃国产成人精品视频| 日韩伦理免费电影| 亚洲免费看黄网站| 尤物视频一区二区| 亚洲午夜一二三区视频| 亚洲超碰97人人做人人爱| 亚洲综合在线免费观看| 一区二区三区在线免费视频 | 久久aⅴ国产欧美74aaa| 美女脱光内衣内裤视频久久影院| 日韩不卡一二三区| 日本成人在线不卡视频| 日韩电影免费在线看| 韩日欧美一区二区三区| 国产一区二区福利视频| 国产高清亚洲一区| 成人av午夜影院| 色av成人天堂桃色av| 欧美怡红院视频| 日韩一级高清毛片| 欧美一区二区啪啪| 久久美女高清视频| 中文字幕在线不卡一区| 亚洲综合一区二区三区| 蜜臀av亚洲一区中文字幕| 国产在线精品一区二区三区不卡 | 欧美一区二区三区在线观看视频| 欧美高清视频不卡网| 日韩一卡二卡三卡| 国产精品三级av| 一区二区三区在线观看动漫| 亚瑟在线精品视频| 国内成人免费视频| 97超碰欧美中文字幕| 欧美精品在线观看播放| 久久久久久免费| 亚洲精品乱码久久久久久| 日日夜夜免费精品视频| 国产.欧美.日韩| 欧美羞羞免费网站| 日韩无一区二区| 自拍偷自拍亚洲精品播放| 亚洲一区免费在线观看| 国产精品自拍网站| 色八戒一区二区三区| 欧美v日韩v国产v| 曰韩精品一区二区| 精品一区二区三区免费毛片爱| 99久久99久久精品免费观看| 91精品国产综合久久蜜臀| 欧美高清在线视频| 免费在线观看一区| 色婷婷综合久久久中文一区二区| 欧美电影一区二区三区| 中文字幕中文乱码欧美一区二区| 亚洲成国产人片在线观看| 国产精品一区二区无线| 在线日韩一区二区| 国产欧美1区2区3区| 日韩电影在线免费看| 91免费看`日韩一区二区| 精品国产麻豆免费人成网站| 一区二区欧美国产| 狠狠久久亚洲欧美| 欧美日韩一二三| 国产精品久久夜| 国产麻豆一精品一av一免费| 欧美精品丝袜中出| 一区二区免费在线| 成人小视频在线| 精品国产1区二区| 亚洲国产日产av| 成人综合婷婷国产精品久久免费| 日韩欧美国产一区二区在线播放| 亚洲自拍欧美精品| 91视视频在线观看入口直接观看www| 精品88久久久久88久久久| 天堂蜜桃91精品| 欧美三级视频在线观看| 亚洲精品国产高清久久伦理二区| 国产精品一区在线观看乱码| 欧美一区二区三区电影| 午夜影视日本亚洲欧洲精品| av一二三不卡影片| 中文字幕精品一区二区精品绿巨人 | 欧美成人三级在线| 精品国产自在久精品国产| 亚洲综合成人在线视频| 91免费国产在线| 亚洲欧美区自拍先锋| 色综合视频一区二区三区高清| 亚洲国产成人午夜在线一区| 国内欧美视频一区二区| 精品国产百合女同互慰| 久久aⅴ国产欧美74aaa| 欧美tk—视频vk| 久久99久国产精品黄毛片色诱| 91精品在线一区二区| 美女脱光内衣内裤视频久久影院| 91精品婷婷国产综合久久竹菊| 亚洲成av人片在线| 欧美精品在线视频| 美女视频黄久久| 精品国产91乱码一区二区三区| 久久99精品久久久久久| www久久久久| 国产麻豆精品在线观看| 国产亚洲欧美一区在线观看| 国产999精品久久久久久| 国产精品电影一区二区| 色综合一区二区三区| 亚洲专区一二三| 欧美日韩和欧美的一区二区| 日韩精彩视频在线观看| 日韩女优av电影| 成人免费视频一区| 亚洲另类春色校园小说| 欧美日本乱大交xxxxx| 久久精品国产成人一区二区三区| 精品不卡在线视频| 北条麻妃一区二区三区| 亚洲一区二区黄色| 日韩精品一区二区三区在线播放 | 国内偷窥港台综合视频在线播放| 国产亚洲成aⅴ人片在线观看| 成人18视频在线播放| 一区二区三区在线视频观看58| 欧美日韩国产小视频在线观看| 免费高清视频精品| 欧美激情一区三区| 欧美性猛片xxxx免费看久爱| 美女网站视频久久| 中文字幕在线观看一区二区| 欧美特级限制片免费在线观看| 久久丁香综合五月国产三级网站| 国产精品人妖ts系列视频| 欧美日韩视频一区二区| 国产综合一区二区| 亚洲免费在线看| 日韩一区二区在线看片| 不卡视频免费播放| 日本午夜精品视频在线观看 | 欧美一区二区在线不卡| 国产精品18久久久久久vr| 尤物视频一区二区| 精品剧情在线观看| 日本电影欧美片| 国产一区视频导航| 亚洲一区二区五区| 中文字幕欧美日本乱码一线二线| 91国产福利在线| 国产v日产∨综合v精品视频| 性做久久久久久久久| 国产精品乱子久久久久| 日韩欧美中文字幕精品| 色美美综合视频| 国产高清不卡一区二区| 全国精品久久少妇| 亚洲欧美电影院| 中文字幕av在线一区二区三区| 欧美二区在线观看| 色先锋aa成人| av成人动漫在线观看| 国产乱码精品一区二区三区av|