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版本。
在表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允许对同一文件同时复数读取,但完全不支持对同一文件同时复数的写入操作,因为这会引起文件系统错误。具体每一个函数,特别是字符串读写、格式化读写等,可以参见原始帮助和例程。
此外,由于嵌入式系统
《MC9S12UF32的嵌入式文件系统数据存储模块》相关文章
- › 基于MC9S08AW32和HT1621家电液晶显示系统设计
- › MC9S12UF32的嵌入式文件系统数据存储模块
- › MC9S12NE64型单片机的嵌入式以太网连接
- 在百度中搜索相关文章:MC9S12UF32的嵌入式文件系统数据存储模块
- 在谷歌中搜索相关文章:MC9S12UF32的嵌入式文件系统数据存储模块
- 在soso中搜索相关文章:MC9S12UF32的嵌入式文件系统数据存储模块
- 在搜狗中搜索相关文章:MC9S12UF32的嵌入式文件系统数据存储模块