2个版本
0.1.1 | 2024年5月23日 |
---|---|
0.1.0 | 2024年2月20日 |
#1045 in 嵌入式开发
每月125次下载
305KB
5.5K SLoC
gpiocdev-embedded-hal
一个Rust库,通过使用gpiocdev在Linux平台上使用GPIO字符设备实现了embedded-hal traits。
示例用法
读取行值
use embedded_hal::digital::InputPin;
// request the line
let mut pin = gpiocdev_embedded_hal::Input::new("/dev/gpiochip0", 23)?;
// get the value
if pin.is_high()? {
println!("Input is high.");
}
设置行
use embedded_hal::digital::OutputPin;
use embedded_hal::digital::PinState;
// request the line
let mut pin = gpiocdev_embedded_hal::Output::new("/dev/gpiochip0", 23, PinState::High)?;
// do something...
// change value later
pin.set_low()?;
按名称请求行
use embedded_hal::digital::InputPin;
let mut pin = gpiocdev_embedded_hal::InputPin::from_name("GPIO23")?;
等待行上的事件
use embedded_hal::digital::InputPin;
use embedded_hal_async::digital::Wait;
// request the line
let mut pin = gpiocdev_embedded_hal::tokio::Input::new("/dev/gpiochip0", 23)?;
// wait for line edge events
pin.wait_for_any_edge().await?;
可以在示例目录中找到工作示例。
许可证
以下任一许可证下提供
- Apache许可证版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在工作中的贡献,均将按上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~0.5–11MB
~119K SLoC