其他分享
首页 > 其他分享> > MP3播放器

MP3播放器

作者:互联网

在飞凌RT1052开发板上配置音频电路,可以进行音频的录制和播放,它需要占用一定的MCU资源,这里介绍的MP3播放是使用MP3播放模块,其整体构成如图1所示。它通过串行通讯口来控制MP3的播放,该模块的引脚如图2所示。 <ignore_js_op>

图片1.png (746.45 KB, 下载次数: 29)

下载附件

2018-11-12 14:45 上传

     图1  MP3控制电路

<ignore_js_op>    图2  MP3播放模块引脚图  
在使用时,所使用的引脚为: VCC --- 接5V电源 GND--- 接电源地 RX  --- 接串口2的发送端 SPK_1---接喇叭 SPK_2---接喇叭  
    在控制MP3播放,需要借助K3键来选择下一曲,并通过串口2以9600bps的波特率来发送指令,数据宽度为8位。由串口助手来验证的界面如图3所示。 <ignore_js_op> 图3  串口发送控制指令
  播放下一首MP3的指令被存放在数组中,其内容如下: uint8_t cmd1[] = {0X7E, 0xFF, 0x06, 0X01, 00, 00, 00, 0xFE, 0xFA, 0XEF}; //next

该MP3的播放器的控制主程序如下:
  1. int main(void)
  2. {
  3.     uint8_t ch;
  4.     lpuart_config_t config;
  5.     BOARD_ConfigMPU();
  6.     BOARD_InitPins();
  7.     BOARD_BootClockRUN();
  8.         gpio_pin_config_t sw_config = {
  9.         kGPIO_DigitalInput, 0,
  10.         kGPIO_NoIntmode,
  11.     };
  12.         GPIO_PinInit(GPIO5, (0U),  &sw_config);
  13.     LPUART_GetDefaultConfig(&config);
  14.     config.baudRate_Bps = BOARD_DEBUG_UART_BAUDRATE;
  15.     config.enableTx = true;
  16.     config.enableRx = true;
  17.     config.dataBitsCount = kLPUART_EightDataBits;
  18.     config.isMsb = false;
  19.     LPUART_Init(DEMO_LPUART, &config, DEMO_LPUART_CLK_FREQ);
  20.     while (1)
  21.     {
  22.                 if(0 == GPIO_PinRead(GPIO5, (0U)))    LPUART_WriteBlocking(DEMO_LPUART, cmd1, 10);
  23.                 delay();
  24.                 delay();
  25.                 delay();
  26.                 delay();
  27.     }
  28. }
复制代码     在使用过程中,每按一下K3就自动进入下一首MP3的播放。本想使用KEY_PAD来接入一个软件盘来多扩展几个键以进行下一首、播放及暂停的控制,但按键设备一直有问题,只好暂时舍弃了。

标签:播放器,LPUART,---,MP3,串口,播放,config
来源: https://www.cnblogs.com/zhugeanran/p/16390616.html