regval|=gain; //设置增益
WM8978_Write_Reg(18,regval);//R18,EQ1设置 }
//设置EQ2
//cfreq:中心频率,0~3,分别对应:230/300/385/500Hz //gain:增益,0~24,对应-12~+12dB void WM8978_EQ2_Set(u8 cfreq,u8 gain) {
u16 regval=0;
cfreq&=0X3;//限定范围 if(gain>24)gain=24; gain=24-gain;
regval|=cfreq<<5; //设置截止频率 regval|=gain;
//设置增益
WM8978_Write_Reg(19,regval);//R19,EQ2设置 }
//设置EQ3
//cfreq:中心频率,0~3,分别对应:650/850/1100/1400Hz //gain:增益,0~24,对应-12~+12dB void WM8978_EQ3_Set(u8 cfreq,u8 gain) {
u16 regval=0;
cfreq&=0X3;//限定范围 if(gain>24)gain=24;
20
gain=24-gain;
regval|=cfreq<<5; //设置截止频率 regval|=gain;
//设置增益
WM8978_Write_Reg(20,regval);//R20,EQ3设置 }
//设置EQ4
//cfreq:中心频率,0~3,分别对应:1800/2400/3200/4100Hz //gain:增益,0~24,对应-12~+12dB void WM8978_EQ4_Set(u8 cfreq,u8 gain) {
u16 regval=0;
cfreq&=0X3;//限定范围 if(gain>24)gain=24; gain=24-gain;
regval|=cfreq<<5; //设置截止频率 regval|=gain;
//设置增益
WM8978_Write_Reg(21,regval);//R21,EQ4设置 }
//设置EQ5
//cfreq:中心频率,0~3,分别对应:5300/6900/9000/11700Hz //gain:增益,0~24,对应-12~+12dB void WM8978_EQ5_Set(u8 cfreq,u8 gain) {
u16 regval=0;
21
cfreq&=0X3;//限定范围 if(gain>24)gain=24; gain=24-gain;
regval|=cfreq<<5; //设置截止频率 regval|=gain;
//设置增益
WM8978_Write_Reg(22,regval);//R22,EQ5设置 }
Main.c代码 #include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \ #include \#include \
22
//ALIENTEK 探索者STM32F407开发板 实验43 //音乐播放器 实验 -库函数版本 //技术支持:www.openedv.com
//淘宝店铺:http://eboard.taobao.com //广州市星翼电子科技有限公司 //作者:正点原子 @ALIENTEK int main(void) { delay_init(168);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
//初始化延时函数 uart_init(115200); LED_Init();
//初始化串口波特率为115200
//初始化LED
//初始化USMART //LCD初始化 //按键初始化 //初始化W25Q128 //初始化WM8978 //耳机音量设置 //喇叭音量设置 //初始化内部内存池 //初始化CCM内存池
//为fatfs相关变量申请内存 //挂载SD卡
23
usmart_dev.init(84);
LCD_Init(); KEY_Init();
W25QXX_Init(); WM8978_Init();
WM8978_HPvol_Set(40,40); WM8978_SPKvol_Set(60); my_mem_init(SRAMIN);
my_mem_init(SRAMCCM); exfuns_init();
f_mount(fs[0],\
相关推荐: