Select_mic_input(int state)函式分析
阿新 • • 發佈:2020-10-09
Select_mic_input(int state)函式分析
分析:函式select_mic_input( int state) 的形參state 的值取決於識別到的耳機的值
0:沒有耳機
1:耳機帶MIC
2:耳機不帶MIC
在接下來的條件判斷語句中主要通過位操作來影響CtrlReg ,VolumeCtrlReg ,VolumeADCdigtalReg 這三個值
舉例說明插入的是帶MIC的耳機則,最後CtrlReg =0x14, volumeCtrlReg =0x1f,
VolumeADCdigtalReg =0x1d0
接下來即根據這些值對音訊codec 的暫存器的值進行操作,以插入帶MIC的耳機為例:
帶MIC耳機的輸入選擇 IN2L 單端輸入。
向0x2f暫存器中寫入CtrlReg的值0x14 (0001 0100)
帶MIC耳機的輸入選擇 IN2R 單端輸入。
符合原理圖中的設計
2
向0x2c暫存器寫入volumeCtrlReg 的值0x1f 即是設定左聲道的 left input PGA Volume 為
28.3db。
向0x2d暫存器寫入volumeCtrlReg 的值0x1f 即是設定右聲道的 right input PGA Volume 為28.3db。
3
向0x24暫存器總寫入VolumeADCdigtalReg的值 0x1d0
D0 表示設定 ADC digtal Volume 為6 db, 1 表示當向該暫存器的第8位寫入1 的時候ADC
Volume 就可以更新了。
向0x25暫存器總寫入VolumeADCdigtalReg的值 0x1d0 ,的作用也同上。