中级会员
 
- 积分
- 200
- 金钱
- 200
- 注册时间
- 2019-12-5
- 在线时间
- 48 小时
|

楼主 |
发表于 2020-4-2 23:53:03
|
显示全部楼层
感谢帮顶帖。
晚上又拿Jlink单步调试一下,发现初始化打开LOUT2和ROUT2喇叭输出,之后配置R43,INVROUT2反向,喇叭也响了一声。
u8 WM8978_Init(void)
{
u8 res;
WM8978_IIC_Init(); //初始化IIC接口
res=WM8978_Write_Reg(0,0); //软复位WM8978
if(res)return 1; //发送指令失败,WM8978异常
//以下为通用设置
WM8978_Write_Reg(1,0X0F); //R1,MICEN设置为1(MIC使能),BIASEN设置为1(模拟器工作),VMIDSEL[1:0]设置为:11(5K)
//WM8978_Write_Reg(2,0X1B0); //R2,ROUT1,LOUT1输出使能(耳机可以工作),BOOSTENR,BOOSTENL使能
WM8978_Write_Reg(3,0X6C); //R3,LOUT2,ROUT2输出使能(喇叭工作),RMIX,LMIX使能
WM8978_Write_Reg(6,0); //R6,MCLK由外部提供
WM8978_Write_Reg(43,1<<4); //R43,INVROUT2反向,驱动喇叭
//WM8978_Write_Reg(47,1<<8); //R47设置,PGABOOSTL,左通道MIC获得20倍增益
//WM8978_Write_Reg(48,1<<8); //R48设置,PGABOOSTR,右通道MIC获得20倍增益
WM8978_Write_Reg(49,1<<1); //R49,TSDEN,开启过热保护
//WM8978_Write_Reg(49,1<<2); //R49,SPEAKER BOOST,1.5x
WM8978_Write_Reg(10,1<<3); //R10,SOFTMUTE关闭,128x采样,最佳SNR
WM8978_Write_Reg(14,1<<3); //R14,ADC 128x采样率
//WM8978_Write_Reg(3,0X6C); //R3,LOUT2,ROUT2输出使能(喇叭工作),RMIX,LMIX使能
return 0;
}
图片是我的原理图,还会继续找原因。期待有遇到过类似问题的大神指点一二。
|
|