#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); //目錄隨機播放
} |