#adc #driver #async #no-alloc

no-std mcp3424

异步Rust驱动程序,用于MCP3422/3/4 ADC

2个不稳定版本

0.2.0 2024年7月2日
0.1.0 2024年6月27日

#625 in 嵌入式开发

Download history 69/week @ 2024-06-21 221/week @ 2024-06-28 29/week @ 2024-07-05

每月58次下载

Apache-2.0

55KB
966

github docs.rs crates.io

MCP3424

此包提供基于embedded-hal特质的异步Rust驱动程序,用于MCP342[2/3/4] ADC。

MCP3422MCP3423MCP3424 是低噪声、高精度差分输入ΔΣ模数转换器,具有板载2.048V精度参考电压和高达18位的分辨率。设备提供两线I2C兼容的串行接口。

状态

  • 单次转换。
  • 连续转换。
  • 配置
    • 可编程增益放大器(PGA)
    • 分辨率/采样率
    • 通道
  • 异步API
    • 基于Future的
    • 基于Stream的(可选)
  • Defmt集成(可选)
  • UOM集成(可选)

预告

触发单次转换并等待结果

use mcp3424::{MCP3424, Configuration, OneShotMode};

let mut adc = MCP3424::new(i2c, 0x68, Delay, OneShotMode::new(&Configuration::default()));

match adc.measure().await {
    Ok(value) => println!("Measured value: {:?}", value),
    Err(_) => println!("Failed to measure"),
}

文档

许可

使用Apache License Version 2.0许可。

贡献

欢迎所有贡献。您提交的任何有意纳入此包的贡献,根据Apache-2.0许可定义,将无任何额外条款或条件。

依赖关系

~77–630KB
~11K SLoC