ME32F103开发板提供了多路串口来进行通讯,以交换数据和控制串口设备。
这里是用串口来控制MP3播放模块,该模块的引脚分布如图1所示。
图1 引脚分布
在最简单的使用情况下,除电源外只需将SPK_1和SPK_2接到扬声器,将RX引脚接到开发板的TX引脚上。
为测试串口对模块的控制,先将该模块与USB转TTL模块相连,然后通过串口调试工具向其方式播放,见图2所示。经测试,其控制效果可听到音乐的播放,说明控制有效。
图2 播放测试
接下来再解决开发板的串行发送问题,其测试的串行如下:
- uint8_t data[10]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x01,0xFE,0xF7,0xEF};
- int main(void)
- {
- SYS_ExtOSC_EN();
- SYS_PLL_Config(EXTERNAL_CLK,72000000);
- SYS_SelectMainClkSrc(PLL_CLK);
- PA2_INIT(PA2_UART1_TX);
- PA3_INIT(PA3_UART1_RX);
- UART_Open(UART1,9600,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);
- UART_EnableInt(UART1, UART_RX_INT);
- NVIC_EnableIRQ(UART1_IRQn);
- UART_Send(UART1, data, 10);
- while(1)
- {
- }
- }
经程序下载与运行,其执行效果如图3所示,说明程序可以完成字节指令的发送且发送波特率可设置9600bps下工作。
图3 指令发送测试
在实际应用时,需从SWD接口来获取MP3模块的工作电源,并由ISP接口的TX引脚来连接MP3模块的RX引脚。在运行程序后,其状态见图5所示,可听到MP3模块播放出指定的音乐声,说明MP3模块的播放控制有效。
图4 ISP下载接口
图5 实际测试
此外,为了播放多首歌曲,可在程序中添加一个按键以改变播放歌曲的序号。