1 个不稳定版本
0.1.0 | 2023年6月18日 |
---|
#14 in #analog-devices
12KB
187 行
LTC2497 Rust 驱动程序
这是一个适用于Analog Devices LTC2497 16位8/16通道DSADC(具有I2C接口)的平台无关驱动程序。
设备
LTC2497是一款低功耗16位模数转换器,具有16个单端输入,可作为8个差分输入使用。
设备具有I2C接口,可以通过GPIO引脚设置27个地址之一,并且可以通过硬编码的全局地址同步批量设备的读取。设备具有内部振荡器,但可配置为使用外部振荡器。
lib.rs
:
基于embedded-hal
trait的平台无关LTC2497 ADC Rust驱动程序。设备可以直接与嵌入式HAL一起使用,或者与具有“hal”功能的RPPAL(Raspberry Pi Peripheral Access Library)一起使用。
使用
导入此crate和嵌入式HAL实现之一(例如linux-embedded-hal或rppal)。然后实例化设备。
use std::error::Error;
use ltc2497::LTC2497;
use ltc2497::{AddressPinState::Low, Channel};
use rppal::hal::Delay;
use rppal::i2c::I2c;
let i2c = I2c::new()?;
let mut adc = LTC2497::new_from_pins(i2c, Low, Low, Low, 5.0, 0.0, Delay);
for ch in 0..=15 {
match adc.read_channel(Channel::from(ch)) {
Ok(v) => println!("Channel {ch}: {v}V"),
Err(e) => println!("error {e:?} at channel {ch}"),
};
}
Ok(())
您还可以直接使用地址实例化设备。例如,如果您已配置引脚以设置设备地址0x20
let mut adc = LTC2497::new(i2c, 0x20, 5.0, 0.0, Delay);
依赖项
~71KB