Dspfat32

所属分类:DSP编程
开发工具:C/C++
文件大小:52KB
下载次数:42
上传日期:2007-12-17 20:55:40
上 传 者smileage
说明:  DSP和具有标准的并行ATA 硬盘接口之间的驱动程序,用于硬盘的读写。详细见readme.txt
(DSP and standard parallel ATA hard disk interface between the driver for the hard disk read and write. Details, see readme.txt)

文件列表:
lib\dspfat32.lib (76406, 2006-06-21)
testApp\cc_build_Debug.log (381, 2006-06-21)
testApp\Debug.lkf (396, 2006-06-21)
testApp\Debug.lkv (396, 2006-06-21)
testApp\testApp.cmd (422, 2006-06-19)
testApp\testApp.paf (1112, 2006-06-21)
testApp\testApp.pjt (972, 2006-06-21)
testApp\test_main.c (1398, 2006-06-21)
testApp\Debug\testApp.map (8875, 2006-06-21)
testApp\Debug\testApp.out (66636, 2006-06-21)
testApp\Debug\test_main.obj (3482, 2006-06-21)
include\dspfat32.h (5662, 2006-06-21)
include\hdtype.h (1440, 2006-06-21)
testApp\Debug (0, 2007-12-15)
lib (0, 2007-12-15)
testApp (0, 2007-12-15)
include (0, 2007-12-15)

一、库文件的使用 软件库由三个文件组成: Hdtype.h Dspfat32.h Dspfat32.lib 其中两个头文件(.h 文件)包含了数据结构和函数的声明,函数体包含在库文件(.Lib 文件)中 存放目录结构和说明如下: Include 目录包含两个头文件,lib 目录包含库文件,testApp 目录包含测试程序。 使用方法: 在使用时,在程序中使用‘#include’包含头文件,并将dspfat32.lib 库文件加入到 工程中。注意,请将程序的堆空间放到0x5000。如果使用cmd 文件链接工程,请 在文件开头加入: -heap 0x5000 命令,如果使用DSP/BIOS 生成cmd 文件,请设置相应开关。tectApp 项目给出了 一个cmd 文件作为参考。 二、函数说明 函数说明如下: 基本文件操作函数 /********************************************************************** 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 );

近期下载者

相关文件


收藏者