2、子程序库分类
子程序库有两种文件路径表示方式,一种是完整全路径,另一种是逐级路径。目前子程序库主要
使用“完整全路径”方式,而普及版源程序的方式是“逐级路径”。
子程序库按功能分为三个版本:
简易版,支持FAT12 和FAT16 文件系统,只支持读文件,不支持新建和写文件。
标准版,支持FAT12 和FAT16 文件系统,支持文件读写、删除和新建等。
增强版,支持FAT12、FAT16 和FAT32文件系统,支持文件读写、删除和新建等,占用程序空
间比标准版增加约10%,占用存储器RAM 空间增加约5%。
单片机的资源和速度有限,通常在处理FAT16文件系统的U 盘时效率最高,而在处理FAT32 时效
率最低(约低5%到20%)。使用U 盘文件级子程序库实现同样的功能,简易版效率最高,增强版效率
最低(约低5%到20%),所以应该优先选用简易版子程序库。
各子程序库的子程序调用方式完全统一,同一种单片机的示例程序完全通用,只需要在链接时指
定不同的子程序库就可以实现不同的功能。
3、当前版本
使用U 盘文件级子程序库,单片机系统需要具备以下硬件资源:不少于4KB 到7KB的程序空间,
不少于600 字节的随机存储器RAM。对于MCS-51 单片机,600 字节的RAM 包括不少于86 字节的内部
RAM 和512 字节的外部RAM,不同的子程序库对内部RAM 的占用稍有不同。
目前的U 盘文件级子程序库只支持第一个逻辑盘,支持8+3 格式的大写字母的短文件名,可以支
持中文文件名,通过外加程序可以支持小写字母及长文件名。
目前可以提供以下U 盘文件级子程序库:
MCS51 单片机的简易版子程序库,文件名是CH375HF3.LIB,网站上可以下载该子程序库。子
目录是FILELIB3,提供多个示例程序。
MCS51 单片机的标准版子程序库,文件名是CH375HF4.LIB,网站上可以下载该子程序库。子
CH375 的U 盘文件级子程序库 2
目录是FILELIB4,提供多个示例程序CH375HFT.C。根据CH375 的INT#连接方式分为
查询方式和中断方式,根据外部RAM 的数据复制方式分为“单DPTR复制”、“双DPTR
复制”和“单DPTR 和P2+R0 复制”以及“外部子程序”,根据文件数据块读写方式分
为扇区模式和字节模式。另外,还提供汇编示例程序CH375HFT.ASM。
MCS51 单片机的增强版子程序库,文件名是CH375HF6.LIB,可以在订购芯片或者评估板时提
供。子目录是FILELIB6,提供多个示例程序。
MCS51 单片机非总线I/O 的增强版子程序库,文件名是CH375HF5.LIB,可以在订购芯片或者
评估板时提供。子目录是FILELIB5,提供示例程序。适用于非标准或者高速的MCS51
单片机、或者单片机通过普通I/O 引脚模拟并口连接CH375、或者单片机通过串口连
接CH375 等应用。
MCS51单片机的增强版子程序库,只使用外部RAM,完全不用内部RAM,文件名是CH375HFA.LIB,
可以在订购芯片或者评估板时提供。子目录是FILELIBA。
MCS51 单片机非总线I/O 的增强版子程序库,只使用外部RAM,完全不用内部RAM,文件名是
CH375HFC.LIB,可以在订购芯片或者评估板时提供。子目录是FILELIBC。适用于非
标准或者高速的MCS51单片机、或者单片机通过普通I/O 引脚模拟并口连接CH375、
或者单片机通过串口连接CH375 等应用。
X86PC/8086 单片机的标准版&增强版子程序库,文件名是CH375HF7.LIB,可以在订购芯片或
者评估板时提供。子目录是FILELIB7,提供示例程序。
X86PC/8086单片机的标准版&增强版子程序库,采用Huge编译模式,文件名是CH375HFG.LIB,
可以在订购芯片或者评估板时提供。子目录是FILELIBG。
MSP430 单片机的标准版&增强版子程序库,文件名是CH375HF8.LIB 和CH375HFF.LIB,前者支
持V2xx 的IAR-C 编译环境,后者支持V3xx 的IAR-C编译环境,可以在订购芯片或者
评估板时提供。子目录是FILELIB8 和FILELIBF,提供示例程序。
32 位ARM 单片机的标准版&增强版子程序库,文件名是CH375HF9.LIB 和CH375HFH.LIB,前者
支持ADS 编译环境,后者支持SDT编译环境,均为小端数据格式,可以在订购芯片或
者评估板时提供。子目录是FILELIB9 和FILELIBH,提供示例程序。另外,对于ADS
编译环境,还提供子程序库CH375HFI.LIB用于大端数据格式,子目录是FILELIBI。
AVR 单片机的标准版&增强版子程序库,文件名是CH375HFB.LIB,可以在订购芯片或者评估板
时提供。子目录是FILELIBB,提供示例程序。
AVR 单片机的精简标准版子程序库,代码更为精简,文件名是CH375HFD.LIB,可以在订购芯
片或者评估板时提供,只支持CH375A 芯片。子目录是FILELIBD。
批量用户可以预定其它单片机或者DSP 的U 盘文件级子程序库。
4、一般说明
使用U 盘文件级子程序库,单片机系统需要具有不少于600 字节的随机存储器RAM,其中512字
节用于磁盘数据缓冲区,除此之外,根据操作方式的不同,可能还需要文件数据缓冲区,通常情况下,
RAM 越多读写效率越高。
为了使用子程序库,应该在源程序中包含子程序库的头文件CH375HF?.H,该头文件可以为CH375
子程序库分配必要的I/O 及内存资源,并产生必要的与硬件有关的目标代码,如果该文件是被工程项
目的多个源程序包含作为头文件,那么应该只允许一个头文件分配资源和产生代码,除此之外的头文
件应该被事先定义CH375HF_NO_CODE 常量,从而禁止该头文件产生重复的目标代码。例如:
#define CH375HF_NO_CODE 1 // 禁止分配资源或产生代码
#include CH375HF?.H
注:更详细的说明请查看 CH375HF.PDF 文档
---------------------------------------------------------------------------------------------------
CH375 支持的USB 令牌PID:
DEF_USB_PID_SETUP 0x0D
DEF_USB_PID_IN 0x09
DEF_USB_PID_OUT 0x01