全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.2.3 CH375 的U 盘文件级子程序库说明 CH375以C语言子程序库提供了USB存储设备的文件级接口,这些应用层接口API包含了常用的文件级操作,可以移植并嵌入到各种常用的单片机程序中。4.2.3.1概述很多数码产品以及单片机系统都需要存储器,当前,U 盘(含闪盘、USB 闪存盘、USB 移动硬盘等,下同)已经成为很常用的移动存储设备,其价格仅比相同容量的闪存略高,而远比闪存易于采购和易于携带,并且U 盘的规格通用,具有多种容量可供选用。所以,数码产品以及单片机系统可以直接采用U 盘作为大容量的移动存储器。CH375 是USB总线的HOST 主机及DEVICE设备双用接口芯片,单片机可以通过CH375读写U 盘中的数据,由于很多产品最终会与使用WINDOWS 操作系统的个人计算机交换数据,所以为了方便数据交换,U 盘中的数据应该符合WINDOWS 的文件系统格式。CH375 提供了U 盘文件级子程序库,单片机可以直接调用子程序读写U 盘中的文件数据,硬件上只需要在原单片机系统中增加一个CH375芯片,综合成本较低。CH375的U 盘文件级子程序库支持常用的FAT12、FAT16 和FAT32 文件系统,支持容量高达100GB 的U 盘。单片机不需要考虑文件系统,只需要了解文件名、文件长度等基础知识。一个U 盘中可以有多个文件,每个文件都是一组数据的集合,以文件名区分和识别。文件长度是指文件中有效数据的长度,而实际占用的磁盘空间通常大于或者等于文件长度,实际文件数据的存放可能不是连续的,而是通过一组“指针”链接的多个块(也就是分配单元或簇),从而能够根据需要随时增大文件长度以容纳更多数据。目录是为了便于分类管理,管理者可以人为指定将多个文件归档在一起,例如2004 年的文件归到一个目录中。4.2.3.2子程序库分类子程序库有两种文件路径表示方式,一种是完整全路径,另一种是逐级路径。目前子程序库主要使用“完整全路径”方式,而普及版源程序的方式是“逐级路径”。子程序库按功能分为三个版本:简易版,支持FAT12、FAT16 和FAT32 文件系统,只支持读文件,不支持新建和写文件。标准版,支持FAT12 和FAT16 文件系统,支持文件读写、删除和新建等,该版本不再发行。增强版,支持FAT12、FAT16 和FAT32 文件系统,支持文件读写、删除和新建等。单片机的资源和速度有限,通常在处理FAT16文件系统的U 盘时效率最高,而在处理FAT32 时效率最低(约低5%到20%)。使用U 盘文件级子程序库实现同样的功能,简易版效率最高,增强版效率最低(约低5%到20%),所以应该优先选用简易版子程序库。各子程序库的子程序调用方式完全统一,同一种单片机的示例程序完全通用,只需要在链接时指定不同的子程序库就可以实现不同的功能。不同单片机的C 语言示例程序基本通用,尤其是main 主程序基本上适用于所有单片机,只需要修改硬件相关部分,重新编译和链接就可以使用。4.2.3.3 一般说明使用U 盘文件级子程序库,单片机系统需要具有不少CH375vSectorSize加100个字节的随机存储器RAM,其中CH375vSectorSize 个字节(通常是512 字节)用于磁盘数据缓冲区,除此之外,根据操作方式的不同,可能还需要文件数据缓冲区,通常情况下,RAM 越多读写效率越高。为了使用子程序库,应该在源程序中包含子程序库的头文件CH375HF?.H,该头文件可以为CH375子程序库分配必要的I/O 及内存资源,并产生必要的与硬件有关的目标代码,如果该文件是被工程项目的多个源程序包含作为头文件,那么应该只允许一个头文件分配资源和产生代码,除此之外的头文件应该被事先定义CH375HF_NO_CODE 常量,从而禁止该头文件产生重复的目标代码。例如:#define CH375HF_NO_CODE 1 / 禁止分配资源或产生代码#include CH375HF?.H存取模式子程序库对U 盘文件的读写方式分为两种:扇区模式和字节模式。扇区模式下,以扇区(每扇区长度是CH375vSectorSize,通常是512 字节)为基本单位对U 盘文件进行读写,所以读写速度较快,但是通常情况下需要额外的文件数据缓冲区(如果与磁盘数据缓冲区合用则效率不高),额外的文件数据缓冲区必须是扇区长度CH375vSectorSize 的整数倍,所以适用于RAM 多、数据量大、频繁读写数据的单片机系统。字节模式下,以字节为基本单位对U 盘文件进行读写,读写速度较慢,但是不需要额外的文件数据缓冲区(实际上是与磁盘数据缓冲区合用),使用方便,适用于RAM 少、数据量小或者数据零碎、不经常读写数据的单片机系统。如果频繁地向U 盘写入零碎的数据,可能会缩短U 盘中闪存的使用寿命(因为闪存只能进行有限次擦写)。查看子程序库的全局变量“磁盘及文件状态CH375DiskStatus”可以获取当前的文件模式:为DISK_OPEN_FILE 则代表扇区模式,为DISK_OPEN_FILE_B 则代表字节模式。每次新建或者打开一个文件后,默认为扇区模式,支持以扇区为单位的文件操作子程序CH375FileRead 和CH375FileWrite 及CH375FileLocate。当执行一次以字节为单位的操作命令后将自动进入字节模式(只有关闭文件后再重新打开才能恢复扇区模式),支持以字节为单位的操作子程序CH375ByteRead 和CH375ByteWrite 及CH375ByteLocate。对于已打开的同一个文件,不能混用两种模式的操作子程序。子程序库提供的子程序总表调用各个子程序之前需要输入的参数和子程序返回后的结果,都在全局结构变量mCmdParam中,调用前需参考CMD_PARAM结构准备参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 夏季高温中暑急救处置预案
- 家庭玻璃门窗清洁作业操作标准
- 健康餐盘配置标准
- 有限空间事故应急救援规程
- 复合肥质量验收标准与技术规范
- 间歇性断食营养管理操作规范
- AIoT 2.0重塑智能硬件行业分析报告:让设备真正“听懂、看懂、思考”
- 西药药理学试卷及解析
- MLIS图书情报信息检索试卷及答案
- 药品库存管理规范标准流程
- 爱情片《百万英镑》台词-中英文对照
- 商品七大异常状态及处理
- 金属矿床开采新技术技术
- FBCDZ系列通风机为对旋式防爆主要通风机
- GB/T 37669-2019自动导引车(AGV)在危险生产环境应用的安全规范
- 第四章 AP1000反应堆结构设计(杜圣华)
- 几起重大工程质量安全事故原因
- 设备供货安装方案(通用版)
- 中考物理题型二《开放、推理类题》
- 第二节 金属的腐蚀和防护PPT课件
- 2011年天津市高考物理试卷
评论
0/150
提交评论