基于STM32的MP3播放系统设计 - 图文

更新时间:2023-10-25 18:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息工程大学

毕业设计(论文)报告

(地方学生)

课题名称 基于STM32的MP3播放系统设计

学 生 姓 名 顾永康 院、系(队) 电子技术学院、五系二十四队 专 业 电子信息科学与技术 学 号 20065903081 申请学位级别 学士 指导教师单位 304教研室 指导教师姓名 严迎建 技 术 职 务 副教授

二010 年 05 月 27 日

基于STM32的MP3播放系统设计

课题名称 其他指导老师姓名、单位 严迎建 基于ARM的多功能数字时钟设计 三系304教研室 课题主要任务与要求: 备 注 系(或教研室)审批意见: 签(章) 年 月 日 学院训练部审批意见: 签(章) 年 月 日 I

基于STM32的MP3播放系统设计

指导教师评语: 签(章) 年 月 日 答辩小组意见: 负责人签(章) 年 月 日 学院答辩委员会意见: 负责人签(章) 年 月 日 学院训练部审核意见: 盖 章 年 月 日 II

基于STM32的MP3播放系统设计

摘要

MP3是一种高质量音乐压缩标准,采用MP3压缩的数据量可以缩小到1/12,音质却没有多少损失。由于MP3音乐的较小数据量和高质量的播放效果,使它很快成为一种集音频播放、数据存储为一身的数码产品,并深受人们的喜爱。本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、 LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过摇杆控制播放上一首/下一首,通过电位计来控制音量增减,通过LCD显示音量图标和播放状态等;本系统还计划实现读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。

关键字:MP3播放器、CortexM3、STM32V100、VS1003

I

基于STM32的MP3播放系统设计

ABSTRACT

Is a high quality MP3 music compression standard, with MP3 compressed data can be reduced to 1 / 12, but there is little loss of sound quality. MP3 music as the smaller amount of data and high-quality playback, it will soon become a set of audio playback, the data is stored as a digital product, and very popular. In this paper, STM32 family of microcontrollers, combined with decoder chip VS1003, SD card, LCD and other peripherals design and implementation of MP3 players. Its main functions are: Play VS1003 supports all audio files, such as MP3, WMA, WAV files, and the sound quality is very good; through the joystick control playback on a / to the next, through a potentiometer to control volume change, through the LCD show the volume icon and play status, etc.; The system also plans to achieve reader function, PC machine interfaces via USB directly to the development board of the SD card read and write operations to facilitate the copying audio files.

Key words: MP3 Players; CortexM3; STM32V100; VS1003

II

基于STM32的MP3播放系统设计

目 录

摘要 .......................................................................................................................................................I ABSTRACT ............................................................................................................................................ II 目 录 ........................................................................................................................................... III 第一章 绪论 .................................................................................................................................... 1

1.1 选题背景 ............................................................................................................................ 1 1.2 国内外研究现状及意义 ................................................................................................. 1 1.3 设计和研究方向 .............................................................................................................. 2 第二章 系统设计理论基础 ......................................................................................................... 3

2.1 Arm嵌入式系统 ............................................................................................................... 3 2.2 STM32V100 Arm开发板 .................................................................................................. 3 2.3 SD卡 .................................................................................................................................... 3 2.4 FAT16文件系统 ............................................................................................................... 4

2.4.1 DBR区 ........................................................................................................................ 4 2.4.2 FAT区 ........................................................................................................................ 5 2.4.3 FDT区 ........................................................................................................................ 5 2.4.4 DATA区 ...................................................................................................................... 5

2.5 音频编解码器 ................................................................................................................... 5 2.6 液晶显示器 ....................................................................................................................... 6 2.7 电路焊接 ............................................................................................................................ 6 第三章 系统总体设计方案及硬件环境 .................................................................................. 7

3.1 设计目标 ............................................................................................................................ 7 3.2 设计原理 ............................................................................................................................ 7

3.2.1 中央处理器工作原理 ............................................................................................... 7 3.2.2 电源部分原理 ........................................................................................................... 8 3.2.3 音频解码器介绍 ....................................................................................................... 8 3.2.5 液晶显示原理 ........................................................................................................... 9

3.3模块设计方案对比 ......................................................................................................... 10

3.3.1 控制模块 ................................................................................................................. 10 3.3.2 电源模块 ................................................................................................................. 10 3.3.3 音频解码器模块 ..................................................................................................... 11 3.3.4 显示模块 ................................................................................................................. 11

3.4 最终设计方案 ................................................................................................................. 12 第四章 硬件电路设计 ................................................................................................................ 13

4.1 系统硬件设计平台 ........................................................................................................ 13 4.2 总体架构设计 ................................................................................................................. 13 4.3 模块化电路设计 ............................................................................................................ 14

4.3.1 SD卡模块 ................................................................................................................ 14

III

基于STM32的MP3播放系统设计

4.3.2 音频解码器模块 ..................................................................................................... 15 4.3.3 液晶显示模块 ......................................................................................................... 16

第五章 软件程序设计 ................................................................................................................ 17

5.1 系统软件开发平台 ........................................................................................................ 17 5.2 程序实现思想 ................................................................................................................. 17 5.3整体软件系统流程图 .................................................................................................... 17 5.4 各模块软件系统设计 ................................................................................................... 18

5.4.1 SD卡读写模块设计................................................................................................. 18 5.4.2 FAT16文件系统 ...................................................................................................... 18 5.4.2 MP3播放流程设计 .................................................................................................. 19 5.4.3 液晶显示设计 ......................................................................................................... 19

5.5 程序设计结果 ................................................................................................................. 20 第六章 测试和调试 .................................................................................................................... 21

6.1 运行过程 .......................................................................................................................... 21 6.3 问题分析 .......................................................................................................................... 21

6.3.1 硬件方面 ................................................................................................................. 21 6.3.2 软件方面 ................................................................................................................. 22

第七章 结论 .................................................................................................................................. 23 结束语................................................................................................................................................ 24 参考文献 ........................................................................................................................................... 25 致谢 .................................................................................................................................................... 26 附录 .................................................................................................................................................... 27

附录一 ........................................................................................................................................ 27

IV

基于STM32的MP3播放系统设计

第一章 绪论

1.1 选题背景

随着信息技术的飞速发展,形式多样的数字化产品已经开始成为继PC机后的信息处理工具,在这种数字化潮流下,嵌入式系统已成为当前研究和应用的热点之一,嵌入式手持设备的视音频多媒体应用也越来越广泛。由于嵌入式系统的应用要求及成本因素决定了嵌入式系统在系统资源, 包括硬件资源和软件资源方面都是非常精简和高效的。

随着数字编解码及压缩技术的发展,语音文件也朝着高压缩比、高保真的方向发展,从MP1、MP2到目前的MP3格式。便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 172—3)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3标准用尽可能低的码流实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用1/24的压缩因子,仍然比单纯降低采样率的音质要好。低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。人们不仅可以使用计算机软件,还可以通过数字随身听来欣赏音乐。

1.2 国内外研究现状及意义

MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。在INTERNET广泛普及的今天, MP3音乐以其较小数据量和近似完美的播放效果已经成为计算机上和INTERNET最流行的音乐格式了。将CD格式的音乐数据压缩成MP3格式,音效相差无几(除非你有很好的音响和鉴赏力),文件大小至少可以压缩12倍(每首PCM格式的CD歌曲大约40~50MB数据量)。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题。它的记录媒介是芯片或卡,

1

基于STM32的MP3播放系统设计

无需转动部件,彻底摆脱了磁带和光碟的束缚,因而,抗震和节电性能更好。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550)、ST方案(ST92163+STA013/015)、Crystal软解压单芯片方案(EP7209,EP7212)、TI软解压单芯片方案(TMS320C5409),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案。这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔 。

1.3 设计和研究方向

STM32系列微控制器采用ARM公司最新的CortexM3内核。VS1003音频解码芯片为 VS10xx系列的第三代产品,是芬兰VLSI Solution 公司生产的单片MP3/WMA/MIDI解码和ADPCM编码芯片。本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、 LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过摇杆控制播放上一首/下一首,通过电位计来控制音量增减等;通过LCD显示音量图标和播放状态;本系统还计划实现读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。

2

基于STM32的MP3播放系统设计

第二章 系统设计理论基础

2.1 Arm嵌入式系统

嵌入式系统的体系结构(architecture)是嵌入式设备的一种抽象,这意味着体系结构是系统的一般化,它典型的展现详细的现实信息,例如软件源代码或硬件电路设计。在体系结构层次,一个嵌入式系统中的硬件和软件组件表示为相互作用的要素的某种组合。要素是硬件或软件的表示,它们的实现细节被抽象掉了,只留下行为和相互关系的信息。体系结构的要素可以在内部集成于嵌入式设备之中,或者存在于嵌入式系统外部并且与内部的要素相互作用。简而言之,嵌入式体系结构包括嵌入式系统的要素、与嵌入式系统相互作用的要素、每个单独的要素的属性、以及要素之间相互作用的关系。

2.2 STM32V100 Arm开发板

STM32F103VBT6增强型系列使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。

STM32F103VBT6增强型系列工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。

2.3 SD卡

SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。本小节仅简要介绍在SPI模式下,STM32处理器如何读写SD卡,如果读者如希望详细了解SD卡,可以参考相关资料。SD卡内部结构及引脚如图2-1 所示

3

基于STM32的MP3播放系统设计

for( fileoffset = 0 ; fileoffset < temp / buffsize ; fileoffset++) {

FAT_FileRead(fileoffset * buffsize, buffsize, Stream_Buff); for(tmp = 0; tmp < buffsize; tmp++) printf(\

}

FAT_FileRead(fileoffset * buffsize , temp % buffsize, Stream_Buff); for( tmp = 0; tmp < temp % buffsize; tmp ++)

printf(\ }

} else if( {

printf(\

Equal(command, \

// 计算剩余空间

} else if( {

SPI_Config(SPI_BaudRatePrescaler_2); Set_USBClock(); USB_Interrupts_Config(); Led_Config();

Get_Medium_Characteristics(); USB_Init(); while(1);

Equal(command, \

// 读卡器

}

else if(Equal(command, \ {

VS1003_Config(); Mp3SoftReset(); VsSineTest();

// 测试VS1003

34

基于STM32的MP3播放系统设计

}

else if(Equal(command, \ {

SPI_Config(SPI_BaudRatePrescaler_2); Mp3Reset();

len2 = USART_Scanf_Name(foldername); temp = SearchFoler(currSec, foldername, len2, 0); if(temp) {

mp3data_pointer = 0; readNextBytes = 0;

FAT_FileRead(0, buffsize, Stream_Buff); // 读取头一个文件流 fileoffset = 1; printf(\VS1003_Config(); while(1) {

Mp3DeselectControl(); Mp3SelectData(); for(i=0;i

// 等待DREQ为高

// xDCS = 0,选择vs1003的数据接口

// 查找文件,并返回长度

// 找到文件

// 播放MP3文件

while((GPIO_ReadInputData(GPIOA) & MP3_DREQ) == 0); }

Mp3DeselectData(); mp3data_pointer = 0; // 读取一个缓冲

if(fileoffset < temp / buffsize)

FAT_FileRead(fileoffset++ * buffsize, buffsize, Stream_Buff);

SPIPutChar(Stream_Buff[mp3data_pointer++]);

35

基于STM32的MP3播放系统设计

else {

// 返回

FAT_FileRead(fileoffset++ * buffsize, temp % buffsize, Stream_Buff);

break;

}

}

} }

#ifdef DEBUG

}

}

/******************************************************************************* * Function Name : assert_failed

* Description : Reports the name of the source file and the source line number * where the assert error has occurred. * Input : - file: pointer to the source file name * - line: assert error line source number * Output : None * Return : None

*******************************************************************************/ void assert_failed(u8* file, u32 line) {

/* User can add his own implementation to report the file name and line number, ex: printf(\ /* Infinite loop */ while(1) {

36

基于STM32的MP3播放系统设计

} } #endif

/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

VS1003芯片的驱动函数 VS1003.c

SD卡的驱动函数msd.c

FAT16文件系统的支持函数fat16.c

字符装换函数UnicodeToGB2312.c

USB接口进行SD存储管理函数memory.c

系统初始化设置函数和中断配置函数 hw_config.c

37

基于STM32的MP3播放系统设计

结束语

本文提出了一种基于STM32的MP3播放器设计方案,并使用ARM开发工具RealView MDK实现了该方案的原型。尽管该方案无法作为一个通用MP3的方案,但是对于某些音频需要的工业控制、汽车电子、医疗电子等方案具有一定的参考性。

本系统也可以尝试采用更有效的中断方式,在内存中设置一个环形的缓冲区,SPI1从SD卡读取的MP3文件数据存放在其中,当VS1003需要数据时其DREQ引脚将产生低电平,利用其产生中断,在中断服务程序中从缓冲区读取数据送VS1003,直至DREQ引脚恢复为高电平时退出中断。限于时间与篇幅的问题,我将不对上述情况予以实现。

24

基于STM32的MP3播放系统设计

参考文献

[1] 李宁编著。基于MDK的STM32处理器开发应用。北京航空航天大学出版社,2008年

[2] 马忠梅,李善平,康慨,叶楠编著。ARM&Linux嵌入式系统教程。北京航天航空大学出版社,2004年

[3] 熊茂华,杨震伦编著。ARM9嵌入式系统设计与开发应用。清华大学出版社 [4] 赖晓晨、原旭、孙宁编著。嵌入式系统程序设计。清华大学出版社,2010年 [5] 康华光,陈大钦,张林编著。电子技术基础。高等教育出版社,2006年 [6] 樊昌信,曹丽娜编著。通信原理。国防工业出版社,2008年6月

[7] 于学禹,郝梅等编著。Protel 2004 电路设计入门与应用。机械工业出版社,2008年1月

[8] 张海兵,李敏编著。Protel电路设计实例与分析[M].北京。人民邮电出版社,2005

25

基于STM32的MP3播放系统设计

致谢

本次毕业设计历时4个月,至此暂告一段落。通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。它是我这四年来所学知识的综合运用和经验的总结,通过此次设计也锻炼了我个人的各方面能力,包括编程、动手以及沟通能力,所学知识更得到了升华。为以后在工作岗位上发挥自己的才能奠定了坚实的基础。

借此机会,我首先要感谢我的指导教员严迎建副教授,因为从选题到撰写到结稿,期间总是会离不开他的细心指导和不懈支持,他不仅向我传授知识,答疑解惑,还给予我很多方面的支持。他严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。在此谨向严迎建教员致以诚挚的谢意和崇高的敬意!同时感谢叶建森教员,他在硬件方面的指导,使我的设计更快的得以完成。在此还要感谢304教研室的全体教员以及其他同学对我的关心和帮助,更感谢母校四年来对我的培养和教育,希望母校更加辉煌,永远年轻。

26

基于STM32的MP3播放系统设计

附录

附录一

主函数main.c

/* Includes ------------------------------------------------------------------*/ #include \#include \#include \#include \#include \#include \

/* Global define -------------------------------------------------------------*/ u8 Stream_Buff[buffsize]; u8 readNextBytes; u32 mp3data_pointer;

/* Extern declare -------------------------------------------------------------*/ extern void SetupUART1(void); extern void SetupClock(void);

extern void Speaker_Timer_Config(void); extern void Get_Medium_Characteristics(void); extern void VS1003_Config(void); extern void Mp3Reset(void);

extern void SPI_Config(u16 BaudRatePrescaler); extern void Delay(int);

extern u32 Mass_Block_Count; extern u32 Mass_Block_Size; extern u32 Mass_Memory_Size;

27

基于STM32的MP3播放系统设计

/******************************************************************************* * Function Name : USART_Scanf_Name

* Description : Gets Char values from the hyperterminal. * Input : None * Output : None * Return : Length

*******************************************************************************/ u8 USART_Scanf_Name(u8 * str) {

u8 index = 0; while(1) {

/* Loop until RXNE = 1 */

while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET) { }

str[index++] = (USART_ReceiveData(USART1));

printf(\if(str[index - 1] == 13) { index--; return index;

} } }

/******************************************************************************* * Function Name : USART_Scanf_Cmd

* Description : Gets Char values from the hyperterminal.

28

基于STM32的MP3播放系统设计

图4.1 MP3 Player硬件设计电路图

4.3 模块化电路设计

4.3.1 SD卡模块

该系统使用STM32内部接口SPIl与SD卡进行通信,下面介绍其引脚连接情况。 PE3:低电平有效,连接到SD卡的片选引脚CD/DAT3。SPI在和SD卡进行通信时,需要将PE3拉低才能对SD卡进行操作。

PA7:映射为STM32内部接口SPIl的主输出从输入(MOSI)信号线。这里STM32是主设备,SD卡是从设备。数据流的传输方向是从STM32传输给SD卡。该信号线用于传输一些控制命令来完成SD卡的操作,如读、写等。

PA5:已连接到STM32内部接口SPIl的时钟(SCLK)信号线。可设置SPI的时钟频率来调整读取SD卡数据的快慢。

PA6:已连接到STM32内部接口SPIl的主输入从输出(MISO)信号线。数据的传输方向是从SD卡传输给STM32,主要返回SD卡的一些状态、内部寄存器值等。 PCI2:用于检测SD卡是否完全插入。当SD卡完全插入时,PCl2为低电平,否则为高电平。

由于本系统采用STM103V100-II开发板,所以就以其自带的SD卡的结构及读写方法进行介绍,STM103V100-II评估板有SD连接器,其使用SPI总线与STM32处

14

基于STM32的MP3播放系统设计

理器连接,如图4.2所示

图4.2 SD连接器与STM32处理器SPI连接图

4.3.2 音频解码器模块

该系统使用STM32内部接口SPl2与VSl003进行通信,下面具体介绍其引脚连接以及使用情况。

PA3:VSl003的中断请求引脚。当VSl003内部数据已处理完毕,需要新的数据时,将DREQ拉高。STM32根据这个信号来给VSl003发送新的数据流。 PBl3:已连接到STM32内部接口SPI2的时钟(SCLK)信号线。

PBl4:已连接到STM32内部接口SPI2的主输入从输出(MISO)信号线。这里STM32是主设备,VSl003是从设备。数据流的传输方向是从VSl003传输给STM32。主要用于读取VSl003的一些状态和内部寄存器值,比如寄存器测试返回的内部寄存器的值。

PBl5:已连接到STM32内部接口SPl2的主输出从输入(MOSI)信号线。这里STM32是主设备,VSl003是从设备。数据流方向是从STM32传输给VSl003,主要传输给VSl003一些控制命令、MP3/WMA数据流等。

PAl:低电平有效,如果拉低该引脚,那么通过SPI传输的是控制信号。控制信号包括读写VSl003的内部寄存器、对VSl003进行初始化、设置左右声道音量等。PA2:低电平有效,如果拉低该引脚,那么通过SPI传输的是数据信号。比如在向VSl003传输MP3/WMA的数据流时需要拉低该引脚。

PA0:低电平有效,拉低该引脚则硬件复位VSl003。 本系统所设计的音频解码模块的硬件电路图如图4.3所示

15

基于STM32的MP3播放系统设计

图4.3 音频解码器驱动电路图

4.3.3 液晶显示模块

LCD液晶显示模块主要完成数据显示、输出数据与显示数据的同步等功能,可为使用者提供曲目信息。由3.3.4 显示模块方案可知,前期为了简化电路的设计,以及充分利用开发板资源,此次系统显示模块设计采用STM32V100开发板有自带的LCD液晶屏,如果时间允许,我将对支持汉字液晶屏进行研究以用于显示歌词,音量等。LCD液晶屏硬件电路如图4.3所示

图4.4 LCD1602硬件电路图

16

基于STM32的MP3播放系统设计

第五章 软件程序设计

5.1 系统软件开发平台

STM32系列微控制器采用ARM公司最新的CortexM3内核。Cortex-M3是ARM公司推出的最新的针对微控制器应用的内核,提供业界领先的高性能和低成本的解决方案,将成为MCU应用的热点和主流。但是目前能够支持Cortex-M3架构的开发工具很少,包括SDT、ADS1.2等开发工具都不支持。MDK是目前性价比最高的支持Cortex-M3处理器的开发工具。故本次设计的软件平台是建立在软件MDK μVision3之上的。

5.2 程序实现思想

本系统的工作过程大致为:STM32通过SPIl从SD卡中读取MP3/WMA文件,将所读取的数据流通过SPl2发送到VSl003解码中播放;PC机可通过USB总线读写SD卡的内容,传送MP3/WMA等文件;LCD显示屏用于显示MP3的文件名、播放状态。五维摇杆左右摇动控制播放上一首/下一首,上下摇动控制音量,按下则控制播放/暂停。

5.3整体软件系统流程图

有硬件系统可得软件的系统流程图:

图5.1 软件系统流程图

17

基于STM32的MP3播放系统设计

5.4 各模块软件系统设计

5.4.1 SD卡读写模块设计

msd.c 该文件用于提供SD卡的驱动,由ST公司所带例程提供,本系统用到以下一些函数。

SPI_Config:配置与SD卡相连接的SPI1; MSD_Init:初始化SD卡通讯; MSD_WriteByte:向SD卡写一个字节; MSD_WriteByte:从SD卡读一个字节; MSD_GoIdleState:令SD卡处于空闲态;

Get_Medium_Characteristics:获取SD卡的容量; MSD_SendCmd:向SD卡发命令; MSD_GetResponse:从SD卡获取响应; MSD_ReadBlock:从SD卡读取一块数据;

5.4.2 FAT16文件系统

fat16.c该文件提供FAT16文件系统的支持,主要包含以下一些函数: ReadMBR:读取MBR数据结构; ReadBPB:读取BPB数据结构; ReadFAT:读取文件分配表指定项; ReadBlock:读取一个扇区;

FAT_Init:获取FAT16文件系统基本信息; DirStartSec:获取根目录的开始扇区号; DataStartSec:获取数据区的开始扇区号; ClusConvLBA:获取一个簇的开始扇区号; LBAConvClus:转换扇区号与簇号之间的关系; LBAConvClus:计算可用空间,返回字节数; GetFileName:获取指定文件的首扇区号;

List_DateAndTime:获取文件或目录项的日期时间; SearchFoler:在指定范围内查找子目录;

List_AllDir_Long:列出指定范围内的目录及目录信息;

18

本文来源:https://www.bwwdw.com/article/uh02.html

Top