⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspfat32.h

📁 DSP和具有标准的并行ATA 硬盘接口之间的驱动程序
💻 H
字号:
#include"hdtype.h"
//基本文件操作函数
/**********************************************************************
   HD_fopen: 打开硬盘文件

   入口参数: filename:文件的绝对路径名,包含逻辑驱动器名和目录名
                       例如: 
                           c:\\abcdef90\\test.dat
                       (其中"\\"在C语言中表示'\'符号)
         
             mode: 文件打开模式,可以有两种模式: 
                   'w'表示写文件,
                   'r'表示读文件
                   
   返回值: 文件索引号,
           如果文件打开成功,返回值为0-3中的一个,
           如果失败,返回值为'-1'
   
   函数说明:文件的绝对路径名只能识别8.3格式的短文件名
             如果打开的读/写文件数超过4,或写文件数超过1,函数就会返回
             错误信息.
             在打开准备写文件时,程序不会覆盖原有的文件,而是返回'-1'
             
**********************************************************************/
int HD_fopen(char *filename,const char mode);

/**********************************************************************
   HD_fseek: 移动文件的读指针

   入口参数: fp:文件索引号,值为0-3,由HD_fopen函数的返回值确定
   
             offset:移动的字节数
               
             origin:移动的起始位置,共有如下三个起始位置
                    HD_SEEK_SET:从文件的开头移动
                    HD_SEEK_CUR:从文件的当前位置移动
                    HD_SEEK_END:从文件的结尾移动                     
   返回值: 移动的字节数
   
   函数说明:仅用于读文件
             这个函数用于读文件时。一般来说,返回值等于参数offset,
             但是,如果计算出的移动范围在文件的开头之前或文件的结束之后
             那么文件指针将会指向文件的开头或结尾处。 
**********************************************************************/
int HD_fseek(int fp, int offset, int origin);
/**********************************************************************
   HD_fclose: 

   入口参数: fp:文件索引号,值为0-3,由HD_fopen函数的返回值确定

   返回值: 无
   
   函数说明:关闭文件,这个函数必须在程序中明确的调用,
             这样才能保证文件的读/写正确
   
**********************************************************************/
void HD_fclose(int fp);
/**********************************************************************
   HD_fwrite:向文件中写数据

   入口参数: DataBuffer:写入数据指针
                  
             ElementSize:写入元素的大小
             
             ElementCount:写入元素的个数
             
             fp:值为0-3,由HD_fopen函数的返回值确定
   返回值: 写入数据的大小
   
   函数说明:返回值等于ElementSize*ElementCount
**********************************************************************/
HDDword HD_fwrite(void *DataBuffer, int ElementSize, int ElementCount, int fp);
/**********************************************************************
  HD_fread:从文件中读出数据

   入口参数: DataBuffer:读出数据指针
                  
             ElementSize:读出元素的大小
             
             ElementCount:读出元素的个数
             
             fp:值为0-3,由HD_fopen函数的返回值确定
   返回值: 读出数据的大小
   
   函数说明:返回值等于ElementSize*ElementCount
             如果这个值大于文件指针的当前位置到文件结尾的长度
             则返回值由后者替代 
**********************************************************************/
HDDword HD_fread (HDByte *DataBuffer, int ElementSize, int ElementCount, int fp);
//其他文件操作函数
/**********************************************************************
   FAT_Init: 库程序初始化函数

   入口参数: 无

   返回值: 无
   
   函数说明:库程序的初始化程序,
             请在使用这个库里的任何其他函数之前调用这个函数
**********************************************************************/
void FAT_Init(void);
/**********************************************************************
   GetPartitionTable: 读取当前的分区信息

   入口参数: volume:逻辑分区号,按照一般的操作,为'c-z'或'C-Z'
                
             table:保存返回的分区信息  
   返回值: 无
   
   函数说明:
**********************************************************************/
void GetPartitionTable(char volume, PartitionTable_Type* table);
/**********************************************************************
   GetBootSectionTable: 

   入口参数: volume:逻辑分区号,按照一般的操作,为'c-z'或'C-Z'
              
             table:保存返回的分区信息   

   返回值: 无  
   
   函数说明:
**********************************************************************/
void GetBootSectionTable(char volume, BootSectorFat32_Type* table);
/**********************************************************************
   GetLogicVolumeSize:计算硬盘的空间 

   入口参数: volume:逻辑分区号,按照一般的操作,为'c-z'或'C-Z'

   返回值: 相关分区的空间
   
   函数说明:返回值以字节为单位计算
**********************************************************************/
unsigned long GetLogicVolumeSize(char volume);
/**********************************************************************
   GetLogicVolumeFreeSpace: 计算硬盘的剩余空间

   入口参数: volume:逻辑分区号,按照一般的操作,为'c-z'或'C-Z'

   返回值: 相关分区的剩余空间
   
   函数说明:返回值以字节为单位计算
   
**********************************************************************/
unsigned long GetLogicVolumeFreeSpace(char volume);
/**********************************************************************
   GetMaxValomeNUm:当前硬盘的逻辑分区数

   入口参数: 无

   返回值: 当前硬盘的逻辑分区数
   
   函数说明:这个函数返回当前的逻辑分区个数。
**********************************************************************/
int GetMaxValomeNUm( void );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -