最近从网上购得一块Mp3的播放模块,简单说说调试过程。

该模块为MP3-TF-16P, 支持 FAT、FAT16、FAT32 文件系统。和 windows 的硬盘文件系统一样,支持 USB2.0、以及标准的 SPI 协议的 SD 卡驱动,芯片自己完成,支持传统的 MCU 的输入输出控制功能,并且有若干的管脚可供使用。支持 MP3、WAV 的硬解码,芯片自动完成,无需用户操心;支持工业级别的串口通信协议,丰富且又灵活的控制指令。

我使用的这款为TF插卡式的,没我USB接口。按照使用说明,接好线,首先进行了模块测试。模块测试很简单,有三种方法可以进行测试。模块的引脚定义如下:

第一种方式最简单,只需要用到4根接线即可,VCC,GND连接电源,SPK1(或者SPK2),GND连接喇叭,接好以后,插入装有MP3音乐文件的TF卡,然后,短接ADKEY1和GND,就可以直接播放TF卡里的音乐了

第二种测试式需使用串口助手软件,将模块上的TX,RX分别接至USB转串口的下载调试接口上,通过串口助手软件发送控制指令,如播放TF卡中的第一首歌曲,相应的指令为:7E FF 06 03 00 00 01 FE F7 EF,具体的指令含义可以参考使用说明手册。要注意一点的就是发送的内容只能以16进制的方式发送,串口的波特率一定要选择9600,和MP3模块相对应。

第三种测试方式就是将其连接至STM32开发板,自己写程序进行控制调试。

我用的是USART3,相应的串口初始化配置为:

#include "usart.h"UART_HandleTypeDef huart3;
void MX_USART3_UART_Init(void)
{huart3.Instance = USART3;huart3.Init.BaudRate = 9600;//MP3播放必须是9600的波特率huart3.Init.WordLength = UART_WORDLENGTH_8B;huart3.Init.StopBits = UART_STOPBITS_1;huart3.Init.Parity = UART_PARITY_NONE;huart3.Init.Mode = UART_MODE_TX_RX;huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;huart3.Init.OverSampling = UART_OVERSAMPLING_16;if (HAL_UART_Init(&huart3) != HAL_OK){Error_Handler();}
}void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
{GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_USART3_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_10;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);GPIO_InitStruct.Pin = GPIO_PIN_11;GPIO_InitStruct.Mode = GPIO_MODE_INPUT;GPIO_InitStruct.Pull = GPIO_NOPULL;HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
{__HAL_RCC_USART3_CLK_DISABLE();HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);HAL_NVIC_DisableIRQ(USART3_IRQn);
}

主程序main.c很简单,就一个语句就可以了。

#include "main.h"
#include "usart.h"int main(void)
{HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART3_UART_Init();HAL_Delay(100);uint8_t mp3[]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x01,0xFE,0xF7,0xEF};
/*发送控制命令,只能用此格式,不能用字符串的方式发送(uint8_t mp3[]="7E FF 06 03 00 00 01 FE F7 EF";)。*/HAL_UART_Transmit(&huart3,(uint8_t *)mp3,sizeof(mp3),0xFFFF);
}

怎么样,这个模块的调试使用还算简单吧。在用程序调试的时候,一定注意发送控制命令的格式。

好了,就简单的写到这里了,其他还有很多的功能,大家有兴趣继续研究了。

欢迎交流。

STM32连接MP3-TF-16P模块播放音乐相关推荐

  1. win7笔记本蓝牙连接蓝牙耳机设备,无法播放音乐,听不见声音

    环景: 惠普笔记本 win7旗舰版 问题描述: win7笔记本蓝牙连接蓝牙耳机设备,无法播放音乐,听不见声音 解决方案: 先检查计算机管理,蓝牙相关服务是否开启. 卸载现在的蓝牙驱动安装相关计算机品牌 ...

  2. Harmony OS 设备开发学习记录(六)-- 通过PWM模块播放音乐

    Harmony OS 设备开发学习记录(六)-- 通过PWM模块播放音乐 基于hispark wifi套件采用harmony os 2.0全量代码 一.看原理图确定硬件电路 本例采用红绿灯扩展版上的蜂 ...

  3. 【python】用winsound模块播放音乐

    winsound是Windows的音频工具接口,可以实现简单的音频播放功能. 其中最简单的是播放正弦波,Beep,其输入为正弦波频率以及持续时间,例如 import winsound as ws ws ...

  4. 基于Qt Phonon模块实现音乐播放器

    这次使用Qt实现的是一个本地音乐播放器,可以播放下载在计算机本地的音乐,提供了添加歌曲,歌曲列表,清空列表的功能.默认歌曲列表循环播放.音乐播放的实现主要依赖的是Qt 的多媒体框架phonon.该音乐 ...

  5. C语言——播放音乐(四行代码实现)

    四行代码实现播放音乐: #include<mmsystem.h>//多媒体库 #pragma comment(lib,"winmm.lib") //告诉编译器,加载wi ...

  6. c++ vs2015 播放音乐_苹果音乐全家桶有哪些 苹果音乐全家桶介绍_智能常识

    花火网消息,一转眼也差不多当了十来年的苹果全家桶用户了,iPhone.iPad.Mac换了又换.虽然孩子已经长大了,但没变过的,是我对音乐的喜爱.还记得第一次买了iPod,从店里出来的满心欢喜,戴上耳 ...

  7. Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)

    设计者:STCode (公众号同名) 1)功能描述 这个设计主要是通过按键来控制播放音乐,主要涉及到的内容有按键和YX5300 MP3音乐模块的使用,通过按压按键来达到随机播放音乐曲目的目的. 2)使 ...

  8. 【arduino】DFPlayer Mini MP3音乐播放模块arduino音乐播放模块

    昨天看到群里有朋友问音乐播放模块DFPlayer Mini,想起了在家里吃灰的这个模块还没试过,于是今天找了出来简单测试了一下,挺简单的,比TMRpcm省事,价格也非常便宜,还是很推荐使用的. 模块引 ...

  9. 基于Stm32的MP3播放器设计与实现

    原创博文,转载请注明出处 这是我高级电子技术试验课做的作业,拿来共享一下.项目在安福莱例程基础之上进行的功能完善,里面的部分内容可参考安福莱mp3例程.当然用的板子也是安福莱的板子,因为算起来总共做了 ...

最新文章

  1. 打印表单_超市生鲜常用表单,打印出来直接用!(可收藏)
  2. ACK容器服务发布virtual node addon,快速部署虚拟节点提升集群弹性能力
  3. 2.let和const命令
  4. Feign深入学习(一)
  5. spring+quartz实现定时调度
  6. 图匠数据等提出高精度零售货架姿态估计算法GSPN
  7. java爬虫入门--用jsoup爬取汽车之家的新闻
  8. Html 垂直滚动条 定位到 指定位置
  9. 软考中级系统集成项目管理工程师视频教程
  10. LoadRunner教程(18)-LoadRunner 图表合并
  11. 数据分析与数据处理实例(某银行数据)
  12. 撕逼利器——批判性思维
  13. latex 表格及标题居中
  14. 如何向妈妈解释什么是爬虫
  15. postgresql 安装使用修改密码psql登录
  16. pcie转m2装系统win10_M.2接口NVMe SSD固态驱动器安装win10
  17. php最新添加new图标,WordPress 给最新文章和置顶文章添加new和top图标
  18. php游戏对接,php游戏
  19. ue4怎么用虚幻商城场景_【更新】UE4虚幻引擎野外场景制作零基础入门教程
  20. oracle临时表经常被锁_数据库学习——Oracle 数据库了解与使用

热门文章

  1. Github 和 码云 删除仓库
  2. 【HTTP】检测服务器是否支持断点续传
  3. 使用GDB(三):调试程序反汇编方法
  4. C# 最佳做法--- C# 中 SOLID 原则
  5. TrustZone不再安全 白帽黑客任意指纹解锁华为P9Lite
  6. 【EasyExcel】模板填充List
  7. VLC媒体播放器介绍
  8. 入门必懂:你关心的今日头条推广热点问题来了!
  9. PhpStorm 中如何配置 PHP 语言的版本
  10. 修改eps矢量图中的文字