#i2c #driver #embedded-hal #hal #excamera

i2cdriver

使用Rust/Crablang中的Excamera I2CDriver和I2CMini设备,可选地通过embeddded-hal traits

3个不稳定版本

0.2.1 2024年1月16日
0.2.0 2023年12月25日
0.1.0 2023年11月5日

#1111 in 嵌入式开发

每月 31 次下载

0BSD 许可证

20KB
382

Excamera I2CDriver crates.io页面 docs.rs

这是一个支持库/驱动程序,用于在Rust/Crablang中使用Excamera I2CDriverI2CMini 设备。它旨在简化为I2C设备开发嵌入式-hal兼容的驱动程序。

本项目与 Excamera / James Bowman 无关。

如果您有兴趣提交补丁,请参阅 CONTRIBUTING

基本用法

I2CDriver可以使用串口名称进行初始化。

let mut i2c = I2CDriver::open("/dev/ttyUSB0").unwrap();

let mut d = my_i2c_driver::Driver::new(i2c).unwrap();
d.do_the_thing()

根据您的操作系统,端口名称可能会有所不同。

  • Linux: /dev/ttyUSB0/dev/ttyS0;请查看 sudo dmesg 的输出以获取确切的设备名称。
  • MacOS: /dev/ttyACM0;请查看 sudo dmesg 的输出以获取确切的设备名称。
  • Windows: COM5;请查看设备管理器以获取确切的名称。

HAL支持

这实现了0.2.x和1.x嵌入式-hal traits。默认情况下,它们都已被启用,但可以通过功能标志 eh0eh1 进行控制。

使用 async 功能实现了嵌入式-hal-async支持。默认情况下未启用,因为它需要nightly编译器来构建。

使用示例进行测试

一种手动测试对真实硬件更改的便捷方法是使用 cargo watch 与示例文件结合使用。

$ git clone [email protected]:tschundler/i2cdriver.git
cd i2cdriver
cargo watch -- cargo run --example scanbus -- -d /dev/ttyUSB0

依赖关系

~2–3.5MB
~67K SLoC