#include "HSC_U003.h"
#include "USART.h"
u8 send_data[6];
/*
* 函數名:Send_CmdToHSC
* 描述 :直接發送命令到HSC模塊。
* 輸入 :cmd 命令字
* 輸出 :無
* 備注 :0x01 播放,0x02 暫停,0x03 下一曲,0x04 上一曲,0x05 音量加,0x06 音量減,
0x07 待機,0x09 正常工作,0x0A 快進,0x0B 快退,0x0C PP,0x0E STOP
*/
void Send_CmdToHSC(u8 cmd)
{
send_data[0]=0x7E; //協議頭
send_data[1]=0x02; //長度
send_data[2]=cmd; //命令字
send_data[3]=0xEF; //結束位
UART1_SendData(send_data, sizeof(send_data));//UartSand
}
/*
* 函數名:Set_HSC
* 描述 :設置HSC參數
* 輸入 :cmd 命令字
date 參數
* 輸出 :無
* 備注 :0x31 設置音量,0x32 設置EQ,0x33 設置循環模式,0x34 文件夾切換,
0x35 設備切換,0x36 ADK軟件加上拉,0x37 ADK使能,0x38 靜音電平切換
*/
void Set_HSC(u8 cmd, u8 date)
{
// u8 send_data[5];
send_data[0]=0x7E; //協議頭
send_data[1]=0x03; //長度
send_data[2]=cmd; //命令字
send_data[3]=date; //參數
send_data[4]=0xEF; //結束位
UART1_SendData(send_data, sizeof(send_data));//UartSand
}
/*
* 函數名:Select_File(u8 cmd,u8 data_h,u8 data_l)
* 描述 :選擇播放文件
* 輸入 :cmd 命令字
data_h 數據高8位
data_l 數據低8位
* 輸出 :無
* 備注 :0x41 選擇播放曲目,0x42 指定文件夾曲目播放,
0x43 選擇插播曲目,0x44 選擇插播指定文件夾指定曲目
*/
void Select_HSC_File(u8 cmd,u8 data_h,u8 data_l)
{
// u8 send_data[6];
send_data[0]=0x7E; //協議頭
send_data[1]=0x04; //長度
send_data[2]=cmd; //命令字
send_data[3]=data_h;
send_data[4]=data_l;
send_data[5]=0xEF; //結束位
UART1_SendData(send_data, sizeof(send_data));//UartSand
}
/*
* 函數名:Set_HSCVolume(u8 vol)
* 描述 :設置音量
* 輸入 :vol 音量數值
* 輸出 :無
* 備注 :音量范圍 0-48
*/
void Set_HSC_Volume(u8 vol)
{
Set_HSC(0x31,vol);
}
/*
* 函數名:Set_HSC_EQ(u8 eq)
* 描述 :設置風格
* 輸入 :eq 風格
* 輸出 :無
* 備注 :風格 0 NO;1 POP;2 ROCK;3 JAZZ;4 CLASSIC;5 BASS
*/
void Set_HSC_EQ(u8 eq)
{
Set_HSC(0x32,eq);
}
/*
* 函數名:Set_HSC_CycleMode(u8 mode)
* 描述 :設置循環格式
* 輸入 :mode 循環格式
* 輸出 :無
* 備注 :格式 0 All;1 FOLDER;2 ONE;3 RANDOM;4 ONE_STOP
默認 4
*/
void Set_HSC_CycleMode(u8 mode)
{
Set_HSC(0x33,mode);
}
/*
* 函數名:Set_HSC_FolderChange(u8 num)
* 描述 :文件夾切換
* 輸入 :cha 方向
* 輸出 :無
* 備注 :1 下一個文件夾,0上一個文件夾
*/
void Set_HSC_FolderChange(u8 cha)
{
Set_HSC(0x34,cha);
}
/*
* 函數名:Set_HSC_DeviceChange(u8 cha)
* 描述 :設備切換
* 輸入 :type 類型
* 輸出 :無
* 備注 :類型 0 U;1 TF;2 AUX;3 IDLE;4 FLASH
*/
void Set_HSC_DeviceChange(u8 type)
{
Set_HSC(0x35,type);
}
/*
* 函數名:Set_HSC_ADK(u8 up,u8 enable)
* 描述 :設置ADK
* 輸入 :up 軟件上拉
enable 使能
* 輸出 :無
* 備注 :up 1 上拉 0,無上拉,默認 0
enable 1開起,0關閉,默認 1
*/
void Set_HSC_ADK(u8 up,u8 enable)
{
Set_HSC(0x36,up);
Set_HSC(0x37,enable);
}
/*
* 函數名:Set_HSC_SilentChange(u8 cha)
* 描述 :靜音電平切換
* 輸入 :mode 模式
* 輸出 :無
* 備注 :1 高電平靜音,0低電平靜音
*/
void Set_HSC_SilentChange(u8 mode)
{
Set_HSC(0x38,mode);
}
/*
* 函數名:Select_FileNumber(u16 num)
* 描述 :選擇播放曲目
* 輸入 :num 編號
* 輸出 :無
* 備注 :無
*/
void Select_HSC_FileNumber(u16 num)
{
u8 data_h,data_l;
data_h=num>>8;
data_l=num;
Select_HSC_File(0x41,data_h,data_l);
}
/*
* 函數名:Select_FolderFeil(u8 fold, u8 name)
* 描述 :指定文件夾曲目播放
* 輸入 :fold 文件夾編號
name 歌曲名字
* 輸出 :無
* 備注 :無
*/
void Select_HSC_FolderFeil(u8 fold, u8 name)
{
Select_HSC_File(0x42,fold,name);
}
|