ImageVerifierCode 换一换
格式:PPT , 页数:84 ,大小:1.37MB ,
资源ID:1914863      下载积分:16 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1914863.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(STM32处理器综合应用.ppt)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

STM32处理器综合应用.ppt

1、第九章第九章 STM32 处理器综合应用处理器综合应用 1编辑pptl9.1 RTX_Blinkyl9.2 MP3_Player2编辑ppt9.1 RTX_Blinkyl本节将介绍一个综合应用 RTX、ADC、GPIO、LCD 的实例 RTX_Blinky。lSTM32 处理器根据电位器的电压值来控制四相八拍步进电机的旋转速度,这里以四个 LED灯闪烁来表示处理器给步进电机的输入,也就是通过电位器来控制四个 LED 灯循环闪烁的速度,同时电位器的电压值在 LCD 上显示。3编辑ppt作用作用l其一是如何使用实时库 RTX 来实现多任务的应用程序;l其二是如何使用 MDK、ULink2 和 ST

2、M32 处理器的 SW 端口来进行实时跟踪分析调试4编辑ppt9.1.1 硬件电路硬件电路5编辑ppt9.1.2 RTX 内核内核lRTX 内核是一个非常小的 RTOS,仅有 50 多个函数,没有内存管理、文件管理等复杂功能,但可以实现多任务的管理和调度。lRTX 是用标准C 语言编写,由RealView 编译器编译成的,可轻松实现任务函数的声明,而不需要复杂的堆栈以及变量帧的配置。l利用 RTX 核编写实时应用程序仅需要在源程序中包含一个连接RTX 实时库的头文件“RTX.h”即可。6编辑pptRTX常用函数常用函数l os_sys_init(void(*task)(void)l该函数用于初

3、始化并启动RTX 核,在核被初始化后,将运行参数 task 所指向的任务函数。l该函数一定是放在 C 语言的 main()函数中。7编辑pptRTX常用函数常用函数l OS_TID os_tsk_create(void(*task)(void),U8 priority)l该函数创建由参数任务函数指针*task 所指定的任务,并将任务添加准备好的队列中,新的任务会被动态分配一个任务识别号(TID)。l参数 priority 用于指定任务的优先级,默认的任务优先权是1。0 为闲置的任务保留的,如果指定一个任务的优先权为 0,则自动用 1 代替,值 255 也保留。8编辑pptRTX常用函数常用函数

4、lvoid os_evt_set(U16 event_flags,OS_TID task);l该函数为参数 task 指定的任务设置标志,函数仅对参数 event_flags 中相应位为 1 的事件设置标志。lvoid os_tsk_delete_self(void)l该函数停止并删除当前任务,程序将继续执行下一个就绪队列中最高优先权的任务。9编辑pptRTX常用函数常用函数lvoid os_dly_wait(U16 delay_time)l该函数用于暂停调用任务。参数 delay_time 具体规定停顿的时间长度,它由system_ticks衡量,delay_time 可以设置为从 1 至0

5、 xfffe 的任何值。10编辑pptRTX常用函数常用函数l OS_RESULT os_evt_wait_and(U16 wait_flags,U16 timeout)l该函数用于等待在 wait_flags 中被指定发生的所有事件。函数等待参数 wait_flags 中相应的位被设定为 1 的事件,最多可达16 个不同的事件。ltimeout 用于设置预约时间,预约时间之后即使没有一个事件发生,函数必须返回。timeout 可以为除了 0 xFFFF 之外的值,如果timeout 设置为 0 xFFFF,则表示一个不确定的预约时间。预约时间由系统时间衡量。11编辑ppt9.1.3 软件程序

6、设计软件程序设计l为了使用 RTX 以多任务的方式驱动LED 灯的闪烁,设置 5 个任务 OS_TID t_phaseA、OS_TID t_phaseB、OS_TID t_phaseC、OS_TID t_phaseD 和 OS_TID t_lcd。l其中前 4 个任务的作用是点亮某个 LED 灯,延迟一段时间,然后通过设置标志触发另一个任务执行,再延迟一段时间之后,熄灭 LED 灯,等待下一次事件标志的到来;通过这四个任务的循环触发可以实现四个 LED 灯循环闪烁,其延迟时间由ADC 转换值决定。12编辑ppt软件程序设计软件程序设计lOS_TID t_lcd 用于将ADC 转换值显示在 LC

7、D 上,按固定时间间隔不断更新。l除了以上 5 个任务之外,还有 init 任务和 idle 任务,init 任务用于创建以上 5 个任务,该任务在完成之后自行删除;idle 任务无需创建,永远存在,当系统无其他任务时执行该任务。13编辑ppt源文件简介源文件简介l Blinky.cl该源文件用于创建多个任务,并多个任务之间的触发。l STM32_Init.cl该源文件用于初始化 STM32 处理器各个外围接口设备。14编辑ppt源文件简介源文件简介lSetup.cl该文件用于设置 ADC 和 LED 相关的端口和时钟。lRTX_Config.cl该文件用于配置 RTX 的参数,例如同时运行的

8、最多任务数、任务堆栈等。MDK在KeilARMRV30Startup 下自带了几款 MCU 的 RTX 配置模版文件,编程时可以先加入近似 MCU 的配置模版文件,然后使用配置向导来修改参数,如下页图所示,无需编程。15编辑ppt RTX 参数配置向导参数配置向导16编辑ppt源文件简介源文件简介l LCD_4BIT.cl该文件用于提供评估板上 2 行 16 字符的文本LCD 驱动。17编辑ppt9.1.4 实时跟踪分析实时跟踪分析lCortex-M3 处理器内核可以使用 SW 接口进行实时跟踪(Trace);l这里结合RTX_Blinky介绍如何使用 MDK、ULink2 进行 STM32

9、的实时跟踪工具。18编辑ppt9.1.4.1 配置实时跟踪调试配置实时跟踪调试l若要使用 SW 进行实时调试,则需要按以下步骤配置调试器、配置 SWD、配置跟踪功能。l 配置调试器:选择Project-Options for Target Debug,在如下页图所示的对话框中选择ULINK Cortex Debugger 调试器。19编辑ppt选择调试器选择调试器20编辑ppt配置实时跟踪调试配置实时跟踪调试l然后将路径KeilARMStartupST 下的 STM32DBG.ini 文件拷贝到工程文件夹中。选择Project-Options for Target Debug,在 Initia

10、lization File 选项中选择该文件:21编辑pptSTM32DBG.ini 文件用于配置实时跟踪的文件用于配置实时跟踪的选项,可以使用配置向导来修改该文件:选项,可以使用配置向导来修改该文件:22编辑pptSTM32DBG.ini 中可配置选项(中可配置选项(1)lDBG_SLEEP(Debug Sleep Mode):允许在睡眠模式下调试;lDBG_STOP(Debug Stop Mode):允许在停止模式下调试;lDBG_STANDBY(Debug Standby Mode):允许在备用模式下调试;lTRACE_IOEN(Trace Pin Assignment control)

11、允许跟踪引脚分配;lTRACE_MODE(Trace Pin Assignment Control):设置跟踪引脚分配;23编辑pptSTM32DBG.ini 中可配置选项(中可配置选项(2)lDBG_IWDG_STOP(Debug Independent Watchdog stopped when Core is halted):当处理器核挂起时候,停止独立看门狗时钟;lDBG_WWDG_STOP(Debug Window Watchdog stopped when Core is halted):当处理器核挂起时候,停止窗口看门狗时钟;lDBG_TIMx_STOP(Debug Timer

12、 stopped when Core is halted):当处理器核挂起时候,停止调试时钟;lDBG_CAN_STOP(Debug CAN stopped when Core is halted):CAN 接收寄存器被冻结。24编辑ppt 配置配置 SWDl选择Options for Target Debug Settings,如图所示,设置 SWD,端口选择SW。25编辑ppt配置配置 Trace 功能功能lTrace 功能包括:Core Clock、Trace Port 以及定义 TraceEvents 等,如图所示。26编辑ppt9.1.4.2 实时跟踪实时跟踪lMDK 提供了多种实时

13、跟踪窗口,来从不同角度显示实时跟踪所捕获的记录;l包括:状态栏信息、ITM 观测器、逻辑分析仪、RTX 核事件观测器和实时跟踪窗口。27编辑ppt状态栏信息状态栏信息l如果配置了实时跟踪,当选择Debug-Start Debug Session 菜单开始调试时,Vision 3 的窗口状态栏将显示当前跟踪状态信息:l在状态栏中可能显示如下的 Trace 信息:lTrace:Communication Error,表示 Cortex-M3 和 Vision 之间通信出现错误,原因是Core Clock 设置出错或者 Trace 硬件有问题;lTrace:HW Buffer Overrun,表示

14、ULink2 缓冲超出,ULink2 无法给 Vision提供足够快的数据通信;28编辑ppt在状态栏中可能显示如下的在状态栏中可能显示如下的 Trace 信息续信息续lTrace:SW Buffer Overrun,发生 Vision 内部软件缓冲超出;lTrace:No Synchronization,未受到同步包,原因是配置错误或者未连接跟踪硬件;lTrace:Data Stream Error,检测到跟踪数据流;lTrace:Data Overflow,捕获了太多的跟踪数据,跟踪端口太忙导致跟踪包丢失;lTrace:Running.,表示目标板和实时跟踪允许正确;lTarget and

15、 Realtime Trace is running without any errors.l:表示目标板和实时跟踪停止,之前未发生任何错误。29编辑ppt ITM 观测器(观测器(ITM Viewer)lITM 是一个应用驱动跟踪源,支持应用事件跟踪和 printf 类型的调试。l它支持如下跟踪信息源:软件跟踪、硬件跟踪和时间戳。30编辑ppt要使用要使用 ITM 观测器,首先需要在源代码中观测器,首先需要在源代码中加入如下关于加入如下关于 ITM 端口寄存器的定义:端口寄存器的定义:#define ITM_Port8(n)(*(volatile unsigned char*)(0 xE00

16、00000+4*n)#define ITM_Port16(n)(*(volatile unsigned short*)(0 xE0000000+4*n)#define ITM_Port32(n)(*(volatile unsigned long*)(0 xE0000000+4*n)#define DEMCR (*(volatile unsigned long*)(0 xE000EDFC)#define TRCENA 0 x0100000031编辑ppt然后,在源代码中添加然后,在源代码中添加fputc 函数,它用于函数,它用于向向ITM 的激励端口的激励端口0 寄存器写数据:寄存器写数据:st

17、ruct _FILE int handle;/*Add whatever you need here*/;FILE _stdout;FILE _stdin;int fputc(int ch,FILE*f)if(DEMCR&TRCENA)while(ITM_Port32(0)=0);ITM_Port8(0)=ch;return(ch);32编辑ppt有了有了 fputc 函数之后,就可以用函数之后,就可以用 printf 函函数做为数做为 ITM 调试输出。调试输出。lITM 的激励端口0 与 ITM Viewer 窗口之间的连接是固定关系的:33编辑ppt完成以上设置之后,在目标调试期,可以选

18、择完成以上设置之后,在目标调试期,可以选择View-Serial Window-ITM Viewer打开打开 ITM Viewer 窗口窗口34编辑ppt这时就可以在目标调试期间通过这时就可以在目标调试期间通过 ITM Viewer 窗口查看到调试跟踪信息:窗口查看到调试跟踪信息:35编辑ppt 逻辑分析仪(逻辑分析仪(Logic Analyzer)l使用实时调试,可以通过逻辑分析器观测至多 4 个变量值的变化。36编辑ppt在调试期间,可以在逻辑分析仪中添加希在调试期间,可以在逻辑分析仪中添加希望观测的变量:望观测的变量:37编辑pptRTX 核事件观测器核事件观测器(RTX Kernel

19、Event Viewer)l当运行使用实时库 RTX 的应用程序时,可使用 RTX Kernel Event Viewer 窗口来观察任务的切换过程。l还需要允许Trace Enable,并设置正确的 Core Clock:38编辑ppt完成上述设置之后,在目标调试过程中选择完成上述设置之后,在目标调试过程中选择Peripherals RTX Kernel 即可打开即可打开 RTX Kernel 窗口:窗口:39编辑pptSystem 窗口窗口40编辑ppt Event Viewer 窗口窗口41编辑ppt实时跟踪窗口实时跟踪窗口l在实时调试时,选择Peripherals Trace 菜单,来

20、观测和分析所有的跟踪记录:42编辑pptException Trace 窗口窗口43编辑pptEvent Counters 窗口显示特殊事件计窗口显示特殊事件计数器的值数器的值:44编辑pptCortex-M Target Driver Setup 窗口窗口中选择对那些特殊事情进行计数中选择对那些特殊事情进行计数:45编辑ppt9.2 MP3_Playerl本节将介绍一个利用 STM32 处理器实现简易MP3 Player 的设计实例;l这个综合应用实例有助于读者了解SPI 接口、SD 卡、TIMER、USB、FAT 文件系统等的应用。46编辑ppt两种设计方案两种设计方案l第一种方案是简易声

21、波播放器,仅使用 STM103V100 评估板;l令计时器 TIM4 工作在 PWM 模式下,将wav 格式的声波文件从 SD 卡中读出;l由TIM4 产生不同频率的方波通过低通滤波器和放大器送喇叭。47编辑ppt简易声波播放器方案简易声波播放器方案48编辑ppt第二种方案第二种方案l第二种方案即是简易MP3 播放器;l还需要使用额外的解码芯片,将MP3 格式的文件从 SD 卡读出,然后送解码芯片解码播放。49编辑ppt简易简易MP3 Player 方案方案50编辑ppt9.2.1 SD 卡的结构及读写方法卡的结构及读写方法lSD 卡(Secure Digital Memory Card)是一

22、种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件;lSD 卡允许在两种模式下工作,即 SD 模式和 SPI 模式,本系统采用 SPI 模式。51编辑pptSD 连接器与连接器与 STM32 处理器处理器 SPI 连接图连接图52编辑pptSD 卡内部卡内部结构及引脚结构及引脚53编辑pptSD 卡主要引脚和功能为:卡主要引脚和功能为:lCLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在 025MHz 之间变化,SD 卡的总线管理器可以不受任何限制的自由产生 025MHz 的频率;lCMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是从主机到单

23、卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或所有卡;lDAT03:数据线,数据可以从卡传向主机也可以从主机传向卡。54编辑pptSD 卡的命令卡的命令lSD 卡以命令形式来控制 SD 卡的读写等操作。l可根据命令对多块或单块进行读写操作。在SPI 模式下其命令由6 个字节构成,其中高位在前。55编辑ppt读写读写 SD 卡的两个函数:卡的两个函数:l读 取 SD 卡 函 数 lu8 MSD_ReadBlock(u8*pBuffer,u32 ReadAddr,u16NumByteToRead);l写 读 取 SD 卡 函 数 lu8 MSD_WriteBlock(u8*p

24、Buffer,u32 WriteAddr,u16NumByteToWrite)56编辑ppt9.2.2 FAT16 文件系统简介文件系统简介lSD 卡如果采用 FAT16 文件格式,按照其不同的特点和作用大致可分为 5 部分:MBR 区、DBR 区、FAT 区、FDT 区和 DATA 区。l由于 SD 卡一般不做引导盘,一般也不分区,因此通常无MBR 区,直接从 DBR 区开始。57编辑ppt DBR 区区l内容为系统引导记录,它包括一个引导程序和一个被称为 BPB(Bios Parameter Block)的本分区参数记录表。l引导程序的主要任务是当 MBR 将系统控制权交给它时,判断本分区

25、根目录是否有操作系统引导文件,如果有则将其读入内存,并把控制权交给该文件。lBPB 参数块记录着本分区的起始扇区、结束扇区、文件存储格式、根目录大小、FAT 个数,分配单元大小等重要参数。58编辑pptFAT 区区l该区内容为文件分配表,FAT16 文件系统进行空间分配的最基本单位是簇。l文件分配表反映了 SD 卡所有簇的使用情况,通过查文件分配表可以得知任一簇的使用情况。59编辑pptFAT 表表l对于 FAT16 来说,FAT 表每项占用两个字节。FAT 表的第一项通常为 FFF8H。l对于其它项,若其值为 0000H 表示 可 用;FFF7H 表 示 为 坏 簇;FFF8H-FFFFH

26、之 间 表 示 该 簇 为 某 文 件或 目 录 的 最后一 个簇,FFF0H-FFF6H 之间为保留值;其它值则指示下一个簇的簇号。60编辑ppt FDT 区区l该区的内容为文件目录表,FAT 文件系统的一个重要思想是把目录(文件夹)当作一个特殊的文件来处理,FAT32 甚至将根目录当作文件处理。lFAT 分区中所有目录文件,实际上可以看作是一个存放其它文件(文件夹)入口参数的数据表。因此,目录占用空间的大小并不等同于其下所有数据的大小,但也不等于 0,通常是占很小的空间。l其具体的存储原理是:不管目录文件所占空间为多少簇,一簇为多少扇区、多少字节;系统都会以 32 个字节为单位,进行目录文

27、件所占簇的分配。61编辑pptDATA 区区l该数据区存放文件的内容,SD 卡所占用的空间绝大部分为此部分。l如果文件长度大于一个簇的大小,需要多个簇存放该文件,这些放通过 FAT 链表串连起来。62编辑ppt9.2.3 VS1003-MP3/WMA 音频编解码器简介音频编解码器简介lVS1003 是由芬兰 VLSI Solution Oy 公司所设计的一款单片 MP3/WMA/MIDI 音频解码器和 ADPCM 编码器;l它包含一个高性能、自主产权的低功耗DSP 处理器核VSDSP4。63编辑ppt VS1003 内部结构及引脚内部结构及引脚64编辑pptVS1003 芯片与芯片与 STM3

28、2F103x 处理器配合处理器配合lVS1003 可以作为一个微控制器的从机,通过串行 SPI 接口来接收输入的比特流,输入的比特流被解码后,可以通过一个数字音量控制器到达一个 18 位过采样多位 DAC。lSTM32 处理器读取 SD 卡中的 MP3 文件,将其通过 SPI 接口送往 VS1003 芯片播放,然后再利用 STM32F10X 处理器的一些 GPIO 口来控制 VS1003 即可以实现一个 MP3 Player 的原形设计。65编辑ppt9.2.4 简易声波播放器的设计与实现简易声波播放器的设计与实现l通过 SPI1 从 SD 卡中读取声波文件,将所读取的部分存放在一个缓冲器中,

29、利用 TIMER2 通道 1 定期产生的中断,从缓冲器中读取声音数据,然后根据声音数据通过 TIMER4 的通道 3 产生不同频率方波输出。l这里使用了两个缓冲器,一个用于存放从 SD 卡读到的声音数据,另一个用于将声音数据输出到PWM,两个缓冲区的功能不断交替,形成一个由 2 个缓冲区构成的环形缓冲。播放声波文件由PC 机通过超级终端以命令的方式选择,声音的播放状态也显示在 PC 机超级终端上。66编辑pptmain.c源文件包含以下几个主要函数:源文件包含以下几个主要函数:lSetupClock:用于初始化并设置系统时钟,并允许 GPIOA、GPIOB、TIM2、TIM4和 SPI 的时钟

30、lSpeaker_Timer_Config:用于配置定时器 TIM2 和 TIM4,TIM4 的通道 3 处于PWM1 模式;TIM2 的通道 1 工作于输出比较模式,定期发出中断,在每次中断修改TIM4 通道 3 相关寄存器,使之产生不同频率的方波;l USART_Scanf_Name 和 USART_Scanf_Cmd:用于从超级终端获取输入字符串;67编辑pptmain.c源文件包含以下几个主要函数源文件包含以下几个主要函数(续续)lPrintPass:用于在超级终端上输出提示符“X:”;lmain:主函数,首先初始化系统时钟、串口、连接SD 卡的 SPI1,与 SD 进行通讯初始化,

31、检测并在超级终端上打印 SD 卡的信息;然后根据用户在超级中输入的命令进行操作,这里有“dir”、“cd”、“read”、“free”、“play”五个简单的命令,分别是目录项列表、目录更换、以文本方式读取文件、查询 SD 空余空间和播放声音文件;如果输入“Play*.wav”,则处理器开始从 SD 卡中读取相应的声波文件,并将其放入相应的缓冲区;68编辑pptmsd.c:该文件用于提供:该文件用于提供 SD 卡的驱动,卡的驱动,由由ST 公司所带例程提供,本系统用到以下公司所带例程提供,本系统用到以下一些函数。一些函数。SPI_Config:配置与 SD 卡相连接的 SPI1;MSD_Ini

32、t:初始化 SD 卡通讯;MSD_WriteByte:向SD 卡写一个字节;MSD_WriteByte:从 SD 卡读一个字节;MSD_GoIdleState:令SD 卡处于空闲态;Get_Medium_Characteristics:获取 SD 卡的容量;MSD_SendCmd:向SD 卡发命令;MSD_GetResponse:从 SD 卡获取响应;MSD_ReadBlock:从 SD 卡读取一块数据;69编辑ppt fat16.c:该文件提供:该文件提供 FAT16 文件系统的文件系统的支持,主要包含以下一些函数:支持,主要包含以下一些函数:ReadMBR:读取 MBR 数据结构;Read

33、BPB:读取 BPB 数据结构;ReadFAT:读取文件分配表指定项;ReadBlock:读取一个扇区;FAT_Init:获取 FAT16 文件系统基本信息;DirStartSec:获取根目录的开始扇区号;DataStartSec:获取数据区的开始扇区号;70编辑pptfat16.c续续ClusConvLBA:获取一个簇的开始扇区号;LBAConvClus:转换扇区号与簇号之间的关系;LBAConvClus:计算可用空间,返回字节数;GetFileName:获取指定文件的首扇区号;List_DateAndTime:获取文件或目录项的日期时间;SearchFoler:在指定范围内查找子目录;Li

34、st_AllDir_Long:列出指定范围内的目录及目录信息;FAT_FileOpen:打开指定文件;FAT_FileRead:读取文件数据;71编辑pptuart.chw_config.cluart.c:该文件提供 USART 串口驱动函数,可以参考 7.5 串行通讯接口实例的程序;lhw_config.c:该文件包含系统初始化设置函数和中断配置函数。Set_System:用于提供系统时钟及电源设置;NVIC_Config:用于设置中断向量,允许 TIM2 中断;72编辑pptstm32f10 x_it.cUnicodeToGB2312.cl stm32f10 x_it.c:该文件仅包含一个

35、函数 TIM2_IRQHandler,即在每次 TIM2 中断时从缓冲器中读取音频数据送 TIM4 定时器,以用于产生不同频率的声音。lUnicodeToGB2312.c:该文件仅包含一个函数 UnicodeToGB2312,处理从 UniCode 编码到 GB2312 字符的转换,用于处理长文件名。73编辑ppt 查看查看 SD 卡内容卡内容74编辑ppt 播放声波文件播放声波文件75编辑ppt9.2.5 简易简易MP3 Player 的设计与实现的设计与实现l9.2.4 小节所介绍的声音播放器,是通过定时器 TIM4 产生不同频率方波来产生声音的,因此只适合播放 wav 声波文件,其音质也

36、非常粗糙。l如果希望播放 MP3 文件,并产生高品质的声音,则需要使用专用声音解码芯片,这将得到一个简易MP3 Player 原型设计。76编辑ppt9.2.5.1 硬件设计硬件设计77编辑ppt9.2.5.2 软件程序设计软件程序设计l通过 SPI1从 SD 卡中读取 MP3 文件,将所读取的内容通过 SPI2 发送到 VS1003 解码器中播放;lPC 机可通过 USB 总线读写 SD 卡的内容,传送 MP3 文件;lPC 机的超级终端用于发送 MP3 播放命令、显示 MP3 播放状态。78编辑ppt main.c:源文件包含以下几个主要函数:源文件包含以下几个主要函数:lUSART_Sc

37、anf_Name 和 USART_Scanf_Cmd:用于从超级终端获取输入字符串;lPrintPass:用于在超级终端上输出提示符“X:”;lmain:主函数,首先初始化系统时钟、串口、USB 接口、SPI1、SPI2,通过命令启动VS1003 芯片,检测并在超级终端上打印 SD 卡的信息;然后根据用户在超级中输入的命令进行操作,这里有“dir”、“cd”、“read”、“free”、“usb”、“vstest”、“play”七个简单的命令,分别是目录项列表、目录更换、以文本方式读取文件、查询 SD 空余空间、启动读卡器功能、VS1003 正弦测试、和播放 MP3 声音文件;如果输入“Pla

38、y*.mp3”,则处理器开始从 SD 卡中读取相应的 MP3 文件,并将其送 VS1003 芯片播放;79编辑pptVS1003.c:该文件主要提供:该文件主要提供 VS1003 芯片芯片的驱动,包含以下几个主要函数:的驱动,包含以下几个主要函数:lVS1003_Config:配置 STM32 处理器与 VS1003 芯片连接的相关引脚,包括SPI2、PA1、PA0、PA2、PA3;lSPIGetChar:通过 SPI 从 VS1003 读取一个数据;lSPIPutChar:通过 SPI 向 VS1003 写一个数据,如果是 MP3 声音数据,则VS1003 将解码并播放;lMp3ReadRe

39、gister:读取 VS1003 寄存器的值;lMp3WriteRegister:写 VS1003 寄存器lMp3Reset:VS1003 硬件复位;lMp3SoftReset:VS1003 软件复位,设置时钟、采样率、重音、音量、立体声等参数;lVsSineTest:播放正弦声波,用于测试;80编辑pptmsd.c,fat16.c UnicodeToGB2312.clmsd.c:该文件用于提供 SD 卡的驱动,与 9.2.4.1 小节中的 msd.c 文件相同。lfat16.c:该文件提供 FAT16 文件系统的支持,与 9.2.4.1 小节中的 fat16.c 文件相同。lUnicodeT

40、oGB2312.c:该 文 件 处 理 从 UniCode 编 码 到 GB2312 字 符 的 转 换,与 9.2.4.1 小 节 中 的UnicodeToGB2312.c 文件相同。81编辑pptmemory.c hw_config.cl memory.c:该源文件提供通过 USB 接口进行 SD 存储管理的功能。其主要函数有:Address_Management_Test:测试接收到的存储地址;Read_Memory:通过 USB 读取 SD 卡;Write_Memory:通过 USB 写 SD 卡;l hw_config.c:该文件包含系统初始化设置函数和中断配置函数。Set_System:用于提供系统时钟及电源设置;Set_USBClock:配置 USB 端口所使用引脚及时钟。82编辑ppt播放播放 MP3 音乐音乐83编辑ppt扩展扩展l本系统只是实现了简易 MP3 Player 的基本原型设计,读者可以进一步利用 STM103V100评估板资源来完善和丰富该 MP3 Player 的功能;l例如利用 Joystick 来选择歌曲、利用 LCD 来显示歌曲名、利用 ADC 来调节音量、利用几个 LED 灯来表示音量,并以多任务的方式来实现。84编辑ppt

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服