欢迎来到天天文库
浏览记录
ID:50906648
大小:162.50 KB
页数:39页
时间:2020-03-15
《基于51单片机FAT32文件系统程序.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于51单片机FAT32文件系统程序#ifndef__ZNFAT_H__#define__ZNFAT_H__#include"mytype.h"//类型重定义/*******************************************************///znFAT的裁减宏---------------------------------------------------------//#defineZNFAT_ENTER_DIR//有此宏,函数znFAT_Enter_Dir()参与编译#defineZNFAT_OPEN_F
2、ILE//有此宏,函数znFAT_Open_File()参与编译//#defineZNFAT_SEEK_FILE//有此宏,函数znFAT_Seek_File()参与编译//#defineZNFAT_READ_FILE//有此宏,函数znFAT_Read_File()参与编译//#defineZNFAT_READ_FILEX//有此宏,函数znFAT_Read_FileX()参与编译//#defineZNFAT_ADD_DAT//有此宏,函数znFAT_Add_Dat()参与编译//#defineZNFAT_CREATE_DIR//有此宏,函数z
3、nFAT_Create_Dir()参与编译//#defineZNFAT_CREATE_FILE//有此宏,函数znFAT_Create_File()参与编译//#defineZNFAT_DEL_FILE//有此宏,函数znFAT_Del_File()参与编译//#defineZNFAT_XCOPY_FILE//有此宏,函数znFAT_XCopy_File()参与编译//#defineZNFAT_RENAME_FILE//有此宏,函数znFAT_Rename_File()参与编译//#defineZNFAT_GET_TOTAL_SIZE//有此宏,
4、函数znFAT_Get_Total_Size()参与编译//#defineznFAT_GET_REMAIN_CAP//有此宏,函数znFAT_Get_Remain_Cap()参与编译#include"cj.h"#include"cj.h"//----------------------------------------------------------------------#defineSOC(c)(((c-pArg->FirstDirClust)*(pArg->SectorsPerClust))+pArg->FirstDirSector)
5、//用于计算簇的开始扇区#defineCONSTconst//设备表#defineSDCARD0//SD卡#defineUDISK1//U盘#defineCFCARD2//CF卡#defineOTHER3//其它//这里的存储设备表,可以灵活扩充,以实现对更多存储设备的支持//-------------------------------------------#defineMAKE_FILE_TIME(h,m,s)((((unsignedint)h)<<11)+(((unsignedint)m)<<5)+(((unsignedint)s)>>1
6、))/*生成指定时分秒的文件时间数据*/#defineMAKE_FILE_DATE(y,m,d)(((((unsignedint)y)+20)<<9)+(((unsignedint)m)<<5)+((unsignedint)d))/*生成指定年月日的文件日期数据*///DPT:分区记录结构如下structPartRecord{UINT8Active;//0x80表示此分区有效UINT8StartHead;//分区的开始磁头UINT8StartCylSect[2];//开始柱面与扇区UINT8PartType;//分区类型UINT8EndHead;
7、//分区的结束头UINT8EndCylSect[2];//结束柱面与扇区UINT8StartLBA[4];//分区的第一个扇区UINT8Size[4];//分区的大小};//MBR:分区扇区(绝对0扇区)定义如下structPartSector{UINT8PartCode[446];//MBR的引导程序structPartRecordPart[4];//4个分区记录UINT8BootSectSig0;//55UINT8BootSectSig1;//AA};//znFAT中对BPB的定义如下一共占用90个字节structznFAT_BPB{UINT
8、8BS_jmpBoot[3];//跳转指令offset:0UINT8BS_OEMName[8];//offset:3UINT8BPB_B
此文档下载收益归作者所有