#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);
}
|