|
STM32驱动MP3-FLASH-16P电路原理图如下:
程序源码:
- #include "mp3.h"
- #include "delay.h"
- static u16 MP3_SEND_BUF[8]={0x7E,0xFF,0x06,0x08,0x00,0x00,0x01,0xEF}; //单曲循环
- //static u16 MP3_SEND_BUF[8]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x00,0xEF};//定义串口3数据发送缓**************************************
- 函数名称 :MP3_PLAY_SETNUM
- 函数功能 :指定曲目(num)播放
- 函数参数 :num ----- 要选定播放的歌曲号
- 函数返回值 ;无
- **************************************/
- void MP3_PLAY_SETNUM(u16 num)
- {
- u8 i=0;
- MP3_SEND_BUF[5]=num>>8;
- MP3_SEND_BUF[6]=num&0x00FF;
- for(i=0;i<8;i++)
- {
- USART_SendData(USART3,MP3_SEND_BUF[i]);
- while( USART_GetFlagStatus(USART3,USART_FLAG_TC)!= SET);
- USART_ClearFlag(USART3,USART_FLAG_TC);
- }
- i=0;
- }
- /*************************************
- 函数名称 :MP3_BUSY_CHECK
- 函数功能 :检测播放是否结束
- 函数参数 ;无
- 函数返回值 :返回 1 ------- 播放结束
- 0 ------- 正在播放
- **************************************/
- u8 MP3_BUSY_CHECK(void)
- {
- return GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2);
- }
- /**************************************
- 函数名称 :MP3_Init
- 函数功能 :MP3 busy引脚初始化 延时500ms以保证初始化完成
- 函数参数 ;无
- 函数返回值 :无
- ***************************************/
- void MP3_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
- GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //上拉输入
- GPIO_Init(GPIOB,&GPIO_InitStructure);
- delay_ms(500);
- }
复制代码 |
评分
-
查看全部评分
|