u盘读写控制源程序 - ch376芯片(6)
/* USB_INT_RET_TOGX 0x0010X011B */ /* 错误:对于IN事务返回数据不同步 */ /* USB_INT_RET_PID 0x001XXXXXB */ /* 错误:未定义 */
/* 以下状态代码1XH用于USB主机方式的操作状态代码 */ #ifndef USB_INT_SUCCESS #define USB_INT_SUCCESS #define USB_INT_CONNECT 连接或者断开后重新连接 */ #define USB_INT_DISCONNECT #define USB_INT_BUF_OVER 溢出 */
#define USB_INT_USB_READY */
0x14 0x15 0x16 0x17 0x18
/* USB事务或者传输操作成功 */ /* 检测到USB设备连接事件, 可能是新/* 检测到USB设备断开事件 */
/* USB传输的数据有误或者数据太多缓冲区/* USB设备已经被初始化(已经分配USB地址)
#define USB_INT_DISK_READ 0x1D /* USB存储器请求数据读出 */ #define USB_INT_DISK_WRITE 0x1E /* USB存储器请求数据写入 */ #define USB_INT_DISK_ERR 0x1F /* USB存储器操作失败 */ #endif
/* 以下状态代码用于主机文件模式下的文件系统错误码 */ #ifndef ERR_DISK_DISCON
#define ERR_DISK_DISCON 0x82 /* 磁盘尚未连接,可能磁盘已经断开 */ #define ERR_LARGE_SECTOR 0x84 /* 磁盘的扇区太大,只支持每扇区512字节 */
#define ERR_TYPE_ERROR 0x92 /* 磁盘分区类型不支持,只支持FAT12/FAT16/BigDOS/FAT32,需要由磁盘管理工具重新分区 */ #define ERR_BPB_ERROR 0xA1 /* 磁盘尚未格式化,或者参数错误,需要由WINDOWS采用默认参数重新格式化 */ #define ERR_DISK_FULL 0xB1 /* 磁盘文件太满,剩余空间太少或者已经没有,需要磁盘整理 */
#define ERR_FDT_OVER 0xB2 /* 目录(文件夹)内文件太多,没有空闲的目录项,FAT12/FAT16根目录下的文件数应该少于512个,需要磁盘整理 */ #define ERR_FILE_CLOSE 0xB4 /* 文件已经关闭,如果需要使用,应该重新打开文件 */
#define ERR_OPEN_DIR 0x41 /* 指定路径的目录(文件夹)被打开 */ #define ERR_MISS_FILE 0x42 /* 指定路径的文件没有找到,可能是文件名称错误 */
#define ERR_FOUND_NAME 0x43 /* 搜索到相匹配的文件名,或者是要求打开目录(文件夹)而实际结果却打开了文件 */ /* 以下文件系统错误码用于文件系统子程序 */ #define ERR_MISS_DIR 0xB3 /* 指定路径的某个子目录(文件夹)没有找到,可能是目录名称错误 */
#define ERR_LONG_BUF_OVER 0x48 /* 长文件缓冲区溢出 */ #define ERR_LONG_NAME_ERR 0x49 /* 短文件名没有对应的长文件名或者长文件名错误 */
#define ERR_NAME_EXIST 0x4A /* 同名的短文件已经存在,建议重新生成另外一个短文件名 */ #endif /*
********************************************************************************************************************* */
/* 以下状态代码用于主机文件模式下的磁盘及文件状态, VAR_DISK_STATUS */ #ifndef DEF_DISK_UNKNOWN #define DEF_DISK_UNKNOWN #define DEF_DISK_DISCONN #define DEF_DISK_CONNECT 识别该磁盘 */
#define DEF_DISK_MOUNTED 系统或者文件系统不支持 */ #define DEF_DISK_READY */
0x00 0x01 0x02 0x03 0x10
/* 尚未初始化,未知状态 */
/* 磁盘没有连接或者已经断开 */
/* 磁盘已经连接,但是尚未初始化或者无法/* 磁盘已经初始化成功,但是尚未分析文件/* 已经分析磁盘的文件系统并且能够支持
#define DEF_DISK_OPEN_ROOT 0x12 /* 已经打开根目录,使用后必须关闭,注意FAT12/FAT16根目录是固定长度 */ #define DEF_DISK_OPEN_DIR 0x13 /* 已经打开子目录(文件夹) */ #define DEF_DISK_OPEN_FILE 0x14 /* 已经打开文件 */ #endif /*
********************************************************************************************************************* */ /* 文件系统常用定义 */
#ifndef DEF_SECTOR_SIZE #define DEF_SECTOR_SIZE 512 /* U盘或者SD卡默认的物理扇区的大小 */ #endif
#ifndef DEF_WILDCARD_CHAR
#define DEF_WILDCARD_CHAR 0x2A /* 路径名的通配符 '*' */ #define DEF_SEPAR_CHAR1 0x5C /* 路径名的分隔符 '\\' */ #define DEF_SEPAR_CHAR2 0x2F /* 路径名的分隔符 '/' */ #define DEF_FILE_YEAR 2004 /* 默认文件日期: 2004年 */ #define DEF_FILE_MONTH 1 /* 默认文件日期: 1月 */ #define DEF_FILE_DATE 1 /* 默认文件日期: 1日 */ #endif
#ifndef ATTR_DIRECTORY
/* FAT数据区中文件目录信息 */ typedef struct _FAT_DIR_INFO { UINT8 DIR_Name[11]; */
UINT8 DIR_Attr; UINT8 DIR_NTRes; UINT8 DIR_CrtTimeTenth; UINT16 DIR_CrtTime; UINT16 DIR_CrtDate; UINT16 DIR_LstAccDate; UINT16 DIR_FstClusHI; UINT16 DIR_WrtTime; MAKE_FILE_TIME */ UINT16 DIR_WrtDate; MAKE_FILE_DATE */ UINT16 DIR_FstClusLO;
/* 00H,文件名,共11字节,不足处填空格
/* 0BH,文件属性,参考后面的说明 */ /* 0CH */
/* 0DH,文件创建的时间,以0.1秒单位计数 */ /* 0EH,文件创建的时间 */ /* 10H,文件创建的日期 */ /* 12H,最近一次存取操作的日期 */ /* 14H */
/* 16H,文件修改时间,参考前面的宏/* 18H,文件修改日期,参考前面的宏
/* 1AH */
UINT32 DIR_FileSize; /* 1CH,文件长度 */ } FAT_DIR_INFO, *P_FAT_DIR_INFO; /* 20H */
/* 文件属性 */
#define ATTR_READ_ONLY 0x01 /* 文件为只读属性 */ #define ATTR_HIDDEN 0x02 /* 文件为隐含属性 */ #define ATTR_SYSTEM 0x04 /* 文件为系统属性 */ #define ATTR_VOLUME_ID 0x08 /* 卷标 */ #define ATTR_DIRECTORY 0x10 /* 子目录(文件夹) */ #define ATTR_ARCHIVE 0x20 /* 文件为存档属性 */ #define ATTR_LONG_NAME ( ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID ) /* 长文件名属性 */ #define ATTR_LONG_NAME_MASK ( ATTR_LONG_NAME ATTR_ARCHIVE )
/* 文件属性 UINT8 */
/* bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 */
/* 只 隐 系 卷 目 存 未定义 */ /* 读 藏 统 标 录 档 */ /* 文件时间 UINT16 */
/* Time = (Hour<<11) + (Minute<<5) + (Second>>1) */ #define MAKE_FILE_TIME( h, m, s ) ( (h<<11) + (m<<5) + (s>>1) ) /* 生成指定时分秒的文件时间数据 */
/* 文件日期 UINT16 */
/* Date = ((Year-1980)<<9) + (Month<<5) + Day */ #define MAKE_FILE_DATE( y, m, d ) ( ((y-1980)<<9) + (m<<5) + d ) /* 生成指定年月日的文件日期数据 */
#define LONE_NAME_MAX_CHAR (255*2) /* 长文件名最多字符数/字节数 */
|
ATTR_DIRECTORY
|
#define LONG_NAME_PER_DIR (13*2) /* 长文件名在每个文件目录信息结构中的字符数/字节数 */
#endif /*
**************************************************************************** …… 此处隐藏:3436字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




