TI论坛
直播中

张浩

7年用户 1121经验值
私信 关注
[问答]

Tlv320AIc23B配置时,采用十六进制,可以采用十进制吗?


  • Tlv320AIc23B  配置时,采用十六进制,可以采用十进制吗?
    2初始化完成后,还可以单独修改某一项配置吗?还是要全部更新?
    void ancRenewINCodecRegs(uint16 left_dB,uint16 right_dB)//using to update Input dB
    {
    ancSetCodecReg(0x1E00); //Codec reset
    ancDelayLoop(5); //delay for stability
    ancSetCodecReg(left_dB); //LLine,
    ancSetCodecReg(512+right_dB); //RLine,
    ancSetCodecReg(0x0812); //No sidetone, No BYP, line, mic mute
    ancSetCodecReg(0x0A02); //Digital Audio
    ancSetCodecReg(0x0E53);// Master, DSP mode,16bits
    ancSetCodecReg(0x10D9); //MnClk/2,16kSPS,USB(12MHz)
    ancSetCodecReg(0x1200); //Digital IF inactived
    ancSetCodecReg(0x0C00); //Power control:All on
    ancDelayLoop(5); //delay for stability
    }
    谢谢!

回帖(2)

朱翼

2024-11-5 14:47:08
1. 可以,比如:ancSetCodecReg(7680); //Codec reset(0x1E00 Hex=7680 Dec),这个跟AIC23B没有关系,跟你的MCU的软件驱动及编译器相关。使用十六进制比十进制要直观。
2. 可以。
举报

张生

2024-11-6 18:06:49
Tlv320AIc23B是一款音频编解码器,其配置通常使用十六进制表示。虽然它主要使用十六进制,但在某些情况下,您也可以使用十进制。然而,使用十六进制更为常见,因为它可以更直观地表示二进制数据。

关于您提到的第二个问题,初始化完成后,您可以单独修改某一项配置,而不需要全部更新。例如,您可以使用`ancSetCodecReg`函数单独设置或修改特定的寄存器值。以下是您提供的代码的解释:

```c
void ancRenewINCodecRegs(uint16 left_dB, uint16 right_dB) {
    ancSetCodecReg(0x1E00); // Codec reset
    ancDelayLoop(5);        // delay for stability
    ancSetCodecReg(left_dB); // LLine
    ancSetCodecReg(512 + right_dB); // RLine
    ancSetCodecReg(0x0812); // No sidetone, No BYP, line, mic mute
    ancSetCodecReg(0x0A02); // Digital Audio
    ancSetCodecReg(0x0E53); // Master, DSP ...
}
```

在这个函数中,您可以单独修改`left_dB`和`right_dB`参数,以更新输入的分贝值。其他寄存器值也可以单独修改,而不需要全部更新。只需使用`ancSetCodecReg`函数设置或修改特定的寄存器值即可。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分