4个版本 (1个稳定版)
1.0.0 | 2024年1月19日 |
---|---|
0.2.0-alpha.1 | 2022年8月11日 |
0.1.1 | 2021年4月22日 |
0.1.0 | 2021年3月10日 |
在嵌入式开发中排名第1702
被3个软件包使用
13KB
118 行
模拟输入/输出引脚实现
此软件包提供了embedded-hal
特性格式的模拟实现。这在处理某些引脚由硬件处理,而软件无需了解其情况时非常有用。
除了无操作、零成本的DummyPin
之外,此软件包还提供了一个LastStateDummyPin
实现,该实现存储在运行时设置的最后一个状态并在读取时返回该状态。
用法
此示例演示了相同的驱动程序如何与真实或模拟输出引脚一起工作。
use dummy_pin::DummyPin;
use embedded_hal::digital::OutputPin;
use linux_embedded_hal::SysfsPin;
struct Driver<P> {
output: P,
}
impl<P, E> Driver<P>
where
P: OutputPin<Error = E>,
{
fn new(pin: P) -> Self {
Driver { output: pin }
}
fn do_something(&mut self) -> Result<(), E> {
// ...
self.output.set_high()
}
}
fn main() {
// The same driver can operate with either a real or a dummy pin.
let real_pin = SysfsPin::new(25);
let mut driver_with_real_pin = Driver::new(real_pin);
driver_with_real_pin.do_something().unwrap();
let dummy_pin = DummyPin::new_low();
let mut driver_with_dummy_pin = Driver::new(dummy_pin);
driver_with_dummy_pin.do_something().unwrap();
}
支持
有关问题、问题、功能请求和其他更改,请在此github项目中提交问题。
许可协议
许可协议为以下之一
- Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可选。
贡献
除非您明确说明,否则您提交的任何旨在包含在本作品中的贡献,根据Apache-2.0许可协议定义,均应如上所述双许可,无需任何额外的条款或条件。
依赖项
~56KB