1 个不稳定版本
0.1.0 | 2023年9月16日 |
---|
#1567 in 硬件支持
27KB
411 行
TLV320AIC23 编解码器驱动程序
这是德州仪器TLV320AIC23B音频编解码器/放大器的驱动程序。
变更日志
未发布变更
- 第一个版本
许可
版权所有 © Neotron 开发者,2023
根据您的选择,在以下许可下提供:MIT 或 Apache-2.0。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献将按照上述许可提供,不附加任何其他条款或条件。
lib.rs
:
TLV230AIC23B 驱动程序
这是德州仪器TLV320AIC23B音频编解码器/放大器的驱动程序。
具体来说,此驱动程序用于通过I²C设置TLV230AIC23B的寄存器 - 此驱动程序不处理数字音频接口(I²S或类似)。
TLV230AIC23B具有以下输入和输出
- 立体声模拟线路输入
- 单声道模拟麦克风输入,可选+20dB增强
- 立体声模拟线路输出
- 立体声模拟放大耳机输出
- 立体声数字输出
- 立体声数字输入
Codec
对象必须缓存寄存器内容,因为TLV320AIC23B只有写入接口,无法读取任何寄存器内容。
示例
您可能需要按如下方式设置编解码器
let mut codec = tlv320aic23::Codec::new(tlv320aic23::BusAddress::CsLow);
if let Err(e) = codec.reset(&mut i2c) {
// Codec didn't respond
}
codec.set_digital_interface_enabled(true);
codec.set_dac_selected(true);
codec.set_dac_mute(false);
codec.set_bypass(false);
codec.set_line_input_mute(true, tlv320aic23::Channel::Both);
codec.set_powered_on(tlv320aic23::Subsystem::AnalogDigitalConverter, true);
codec.set_powered_on(tlv320aic23::Subsystem::MicrophoneInput, true);
codec.set_powered_on(tlv320aic23::Subsystem::LineInput, true);
codec.set_headphone_output_volume(50, tlv320aic23::Channel::Both);
codec.set_sample_rate(
tlv320aic23::CONFIG_USB_44K1,
tlv320aic23::LrSwap::Disabled,
tlv320aic23::LrPhase::RightOnHigh,
tlv320aic23::Mode::Controller,
tlv320aic23::InputBitLength::B16,
tlv320aic23::DataFormat::I2s,
);
if let Err(e) = codec.sync(&mut i2c) {
// Codec didn't respond
}
依赖关系
~230KB