MC9S12UF32的嵌入式文件系统数据存储模块

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8489

文章摘要: (4)写扇区函数 DRESULT disk_write(BYTE drv,const BYTE*buff。DWORD sector,BYTE count) 与disk_read相似,该函数是在“单片机向SD卡写入一个扇区”的函数基础上编写而成的,其功能是向SD卡导入一个或多个扇区的数据。*buff用于保存将要写入的数据,sector是待写入扇区的起始扇区数,count是需要写入的扇区数。如果执行无误,则返回0值;否则,返回非0值。 (5)存储介质控制函数 DRESULT disk_ioctl(BYTE drv,BYTE ctrl,VoiI*buff) ct

MC9S12UF32的嵌入式文件系统数据存储模块,标签:单片机开发,单片机原理,http://www.88dzw.com
    (4)写扇区函数
    DRESULT disk_write(BYTE drv,const BYTE*buff。DWORD sector,BYTE count)
    与disk_read相似,该函数是在“单片机向SD卡写入一个扇区”的函数基础上编写而成的,其功能是向SD卡导入一个或多个扇区的数据。*buff用于保存将要写入的数据,sector是待写入扇区的起始扇区数,count是需要写入的扇区数。如果执行无误,则返回0值;否则,返回非0值。
    (5)存储介质控制函数
    DRESULT disk_ioctl(BYTE drv,BYTE ctrl,VoiI*buff)
    ctrl是控制代码,*buff用于保存或接收需要控制的数据数据。使用者可以在此函数里添加自己需要的功能代码,例如获得存储介质的容量、扇区数等。如果是简单的应用,也可以不执行任何功能,直接返回0值。本文采用的就是这一方法。
    (6)实时钟函数
    DWORD disk_fattime(Void)
    该函数将读取的实时钟信息保存在一个32位无符号整数中,并将其作为函数的返回值。时钟信息在这32位中的具体分布如表1所列。


3.3 FatFS的裁减与配置Tiny-FatFS
    FatFs提供了丰富的库函数,可以实现创建、读取文件夹,创建、读写文件,移动文件指针,向文件中写入或读取字符串,甚至是类似与C语言fprintf()的格式化输入等各种功能。使用者可以根据自己的需求设置相应的宏,对FatFs进行裁减,仅保留需要的功能函数,从而精简文件系统的内存开销。FatFS提供的函数与宏的对应关系如图3所示。


    FatFS的裁减,不仅仅是函数层面的。更重要的是,在内部机制上形成一个精简版本,称为Tiny-FatFS。它与标准版FatFS相比,主要的区别在于Tiny-FatFS仅支持一个物理存储介质,而且不再针对每个开启的文件建立512字节的缓存,整个文件系统和物理介质使用同一个缓存。显然,Tiny-FatFs需要的内存开销比标准版FatFS更低,只要1 KB左右的RAM。可以说,Tinyr-FatFS是专门为小型嵌入式系统而设计的文件系统模块。本文介绍的数据存储系统使用的正是Tiny-FatFS版本。

www.88dzw.com
    在表2中,对ff.h中主要配置宏的含义进行了说明,同时给出了本文所介绍的数据存储模块采用的取值。

4 FatFS文件系统的使用
    FatFS文件系统中涉及2个基本的数据结构:文件系统(磁盘)的数据结构FATFS和文件的数据结构FIL。这两个结构是FatFS软件主要的RAM开销,FATFS数据结构中有针对磁盘的512字节读写缓存,FIL则有针对每个文件的缓存。而采用Tiny FatFS配置则不会开设文件读写缓存,节约RAM。
    依次使用f_mount、f_open、f_rcad/f_write、f_close可以完成基本的读写。FatFS允许对同一文件同时复数读取,但完全不支持对同一文件同时复数的写入操作,因为这会引起文件系统错误。具体每一个函数,特别是字符串读写、格式化读写等,可以参见原始帮助和例程。
    此外,由于嵌入式系统

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习