请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:TLV320AIC3104 工具/软件:Code Composer Studio
大家好,
微控制器和音频编解码器之间的通信不工作。 它被吸入第五行中的函数"WriteReG_AIC"中。 我´将音频编解码器配置为ADC和DAC,但无法与它进行任何通信。 有人能帮帮我吗?
VOID Init_I2C (void) {//SysCl PeripheralReset(sysctl_Periph_I2c1) ; PinTypePeripheralEnable(sysctl_Periph_I2c1); //启用I2C //SysCl封装配置GPIO; 配置外设GPIO ;外设配置外设 GPIO;外设配置外设 //初始化I2C主中继器(100 Kbps) } _Bool WriteReG_AIC (UINT32_t ucReg,UINT32_t ucBits) { I2CMasterSlaveAddrSet (I2C1_base,SLAVE_ADDR_AIC3104,FALSE); I2CMasterDataPut(I2C1_base, ucReg); while (I2CMasterBusy (I2C1_base)); I2CMasterControl (I2C1_BASE,I2C_MASTER_CMD_STUSTREG_SEND_START); while (I2CMasterBusy (I2C1_base)); 如果(I2CMasterErr(I2C1_base)!= I2C_MASTER_ERR_NONE)返回FALSE; I2CMasterDataPut(I2C1_base, ucbits); I2CMasterControl (I2C1_BASE,I2C_MASTER_CMD_STUSTREG_SEND_FINISH); while (I2CMasterBusy (I2C1_base)); 如果(I2CMasterErr(I2C1_base)!= I2C_MASTER_ERR_NONE)返回FALSE; 返回true; } void Init_adc (void) { WriteReG_AIC (19,0x07); // LINE1LP至左侧ADC,单端,增益=0dB,通电,软步进=关闭 WriteReG_AIC (22, 0x07); // LINE1RP至右ADC,单端,增益= 0dB,通电,软步进=关闭 WriteReG_AIC (15, 0x80); //左ADC PGA未静音,增益=0dB WriteReG_AIC (16,0x80); //右ADC PGA未静音,增益=0dB } void Init_DAC (void) { Writeref_AIC (7,0x0A); //左DAC至左通道,右DAC至右通道,FS(AIC)=48kHz ,刻录E0(Reg E0); //打开左右DAC的电源,HPLCOM是单端 WriteReG_AIC (41, 0x00); // DAC_L1和DAC_R1,用于路由到线路输出和HP输出,左右DAC具有独立的音量控制 WriteReG_AIC (43, 0x00); //左音量,静音=关闭,增益=0dB WriteReG_AIC (44, 0x00); //右音量,静音=关闭,增益= 0dB WriteReG_AIC (47,0x80); // DAC_L1至HPLOUT (耳机) WriteReG_AIC (51,0x0F); //启动HPLOUT WriteReG_AIC (64,0x80); // DAC_R1至HPROUT (耳机) WriteReg _AIC (65,0x0F); //启动HPROOUT WriteReg _AIC ( 82,0x80) ;IC_LER1/ REG_96 (eR1/写R1/) AIC_RAM 093 (左/左),AIC_RAM (96),写AIC_RAM (96),左/左/右),AIC_RAM,E093 (写AIC_RAM (96),AIC_RAM),ERO_RAM (96),ELOR ) //加电RIGHT _LOP/M } void Init_AIC3104 (void) { Init_I2C(); WriteReG_AIC (0); //页面选择 WriteReG_AIC (1),0x80; //软件重置 WriteReG_AIC (8, 0xC0); // BCLK和WCLK作为输出(0,0x00) ; //写模式(Is_9);