#include "JQ8900CMD.h" uint8_t code Cmd_02[] = {0xAA, 0x0B, 0x01, 0x01, 0xB7}; //从SD卡播放 uint8_t code Cmd_03[] = {0xAA, 0x0B, 0x01, 0x02, 0xB8}; //从FLASH播放 uint8_t code Cmd_QMUp[] = {0xAA, 0x05, 0x00, 0xAF}; //上一曲指令 uint8_t code Cmd_QMDow[] = {0xAA, 0x06, 0x00, 0xB0}; //下一曲指令 uint8_t code Cmd_Run[] = {0xAA, 0x02, 0x00, 0xAC}; //播放指令 uint8_t code Cmd_Stop[] = {0xAA, 0x04, 0x00, 0xAE}; //停止指令 uint8_t code Cmd_VoltUp[] = {0xAA, 0x14, 0x00, 0xBE}; //音量加 uint8_t code Cmd_VoltDow[] = {0xAA, 0x15, 0x00, 0xBF}; //音量减 uint8_t code Cmd_SJ[] = {0xAA, 0x18, 0x01, 0x05, 0xC8}; //目录随机播放 uint8_t code Cmd_FLASH[] = {0xAA, 0x08, 0x02, 0x02, 0x2F, 0xE5}; //FLASH 根目录 uint8_t code Cmd_SD[] = {0xAA, 0x08, 0x02, 0x01, 0x2F, 0xE4}; //SD 根目录 static uint8_t CmdData[20]; //控制指令缓冲 //==================================================================================// // @ 函数名称:JQ8900_SetVolt // @ 功能说明:设置播放音量,0~30级 //==================================================================================// void JQ8900_SetVolt( uint8_t volt ) { if (volt>30) volt = 30; CmdData[0] = 0xAA; CmdData[1] = 0x13; CmdData[2] = 0x01; CmdData[3] = volt; CmdData[4] = CmdData[0]+CmdData[1]+CmdData[2]+CmdData[3]; USART_SendDatas(CmdData,5); } //==================================================================================// // @ 函数名称:JQ8900_SetQM // @ 功能说明:设置曲目 //==================================================================================// void JQ8900_SetQM( uint8_t volt ) { // if (volt>30) volt = 30; CmdData[0] = 0xAA; CmdData[1] = 0x07; CmdData[2] = 0x02; CmdData[3] = 0x00; CmdData[4] = volt; CmdData[5] = CmdData[0]+CmdData[1]+CmdData[2]+CmdData[3]+CmdData[4]; USART_SendDatas(CmdData,6); } //==================================================================================// // @ 函数名称:JQ8900_QMUp // @ 功能说明:上一曲 //==================================================================================// void JQ8900_QMUp( void ) { USART_SendDatas(Cmd_QMUp,4); } //==================================================================================// // @ 函数名称:JQ8900_QMDow // @ 功能说明:下一曲 //==================================================================================// void JQ8900_QMDow( void ) { USART_SendDatas(Cmd_QMDow,4); } //==================================================================================// // @ 函数名称:JQ8900_Run // @ 功能说明:播放 //==================================================================================// void JQ8900_Run( void ) { USART_SendDatas(Cmd_Run,4); } //==================================================================================// // @ 函数名称:JQ8900_Stop // @ 功能说明:暂停 //==================================================================================// void JQ8900_Stop( void ) { USART_SendDatas(Cmd_Stop,4); } //==================================================================================// // @ 函数名称:JQ8900_VoltUp // @ 功能说明:音量加 //==================================================================================// void JQ8900_VoltUp( void ) { USART_SendDatas(Cmd_VoltUp,4); } //==================================================================================// // @ 函数名称:JQ8900_VoltDow // @ 功能说明:音量减 //==================================================================================// void JQ8900_VoltDow( void ) { USART_SendDatas(Cmd_VoltDow,4); } //==================================================================================// // @ 函数名称:JQ8900_FlashFileCBQM // @ 功能说明:插播FLASH指定目录 文件字母开头01~99 //==================================================================================// void JQ8900_FlashFileCBQM( uint8_t Data ) { uint8_t Temp1 = Data%100/10 + 0x30; uint8_t Temp2 = Data%10 + 0x30; CmdData[0] = 0xAA; CmdData[1] = 0x17; CmdData[2] = 0x0E; CmdData[3] = 0x02; CmdData[4] = 0x2F; CmdData[5] = 0xCF; CmdData[6] = 0xB5; CmdData[7] = 0xCD; CmdData[8] = 0xB3; CmdData[9] = 0x2A; CmdData[10] = 0x2F; CmdData[11] = Temp1; CmdData[12] = Temp2; CmdData[13] = 0x2A; CmdData[14] = 0x3F; CmdData[15] = 0x3F; CmdData[16] = 0x3F; CmdData[17] = CmdData[0]+CmdData[1]+CmdData[2]+CmdData[3]+CmdData[4]+CmdData[5] \ +CmdData[6]+CmdData[7]+CmdData[8]+CmdData[9]+CmdData[10]+CmdData[11] \ +CmdData[12]+CmdData[13]+CmdData[14]+CmdData[15]+CmdData[16]; USART_SendDatas(CmdData,18); } //==================================================================================// // @ 函数名称:JQ8900_ForSDSJBF // @ 功能说明:从SD随机播放 //==================================================================================// void JQ8900_ForSDSJBF( uint8_t Qm ) { USART_SendDatas(Cmd_02,5); //设置为SD卡磁盘 USART_SendDatas(Cmd_SD,6); //选择SD根目录 JQ8900_SetQM(Qm); //设置曲目1 USART_SendDatas(Cmd_SJ,5); //目录随机播放 } //==================================================================================// // @ 函数名称:JQ8900_ForFlashSJBF // @ 功能说明:从FLASH随机播放 //==================================================================================// void JQ8900_ForFlashSJBF( uint8_t Qm ) { USART_SendDatas(Cmd_03,5); //设置为FLASH磁盘 USART_SendDatas(Cmd_FLASH,6); //选择FLASH根目录 JQ8900_SetQM(Qm); //设置曲目1 USART_SendDatas(Cmd_SJ,5); //目录随机播放 } |
请问您有单片机串口控制语音模块播放的完整程序吗 |
你好,可以问一下你以前做的单片机控制语音模块最终怎么样了 |
1025263254 发表于 2016-9-22 22:10 上位机怎么和语音模块连线 |
没有看懂 |
admin 发表于 2016-9-4 15:26 不是啊 啊。我用电脑上位机跟模块可以通讯,但是下载程序到单片机,让单片机控制语音模块,现在程序还没写好, |
这个很好,是赠送版? |