3个不稳定版本
0.2.0 | 2021年6月3日 |
---|---|
0.1.1 | 2021年5月30日 |
0.1.0 | 2021年5月30日 |
#1604 在 嵌入式开发
33KB
639 行
on-off-sequence-output
一个平台无关的库,提供一系列开关状态的输出,例如LED。
安装
将此添加到您的 Cargo.toml
[dependencies]
on-off-sequence-output = "0.1"
使用
这是一个库crate,应该可以与任何在cortex-m MCU上实现 'embedded_hal' trait 'OutputPin' 的led一起工作。
源代码可能看起来像 ...
use on_off_sequence_output::prelude::*;
// This is up to the implementation details of the embedded_hal you are using.
let led_pin: OutputPin = hal_function_which_returns_output_pin();
const UPDATE_SCALE: u16 = 500;
let mut led = OnOffSequenceOutput::new(led_pin, UPDATE_SCALE);
let output_states = 0b10011101;
let number_of_output_states = 8;
led.set(output_states, number_of_output_states, Repeat::Never)
loop {
if led.update().unwrap() { break; };
wait(1.ms());
}
led.set(0b010, 3, Repeat::Times(2)).unwrap();
loop {
if led.update().unwrap() { break; };
wait(1.ms());
}
// some morse code output is possible as well
ledout.set_morse("RUST IS GOOD ", Repeat::Forever).unwrap();
loop {
led.update().unwrap();
wait(1.ms());
}
示例文件夹中包含一个名为 show-led-output
的工作示例。 cargo工具 (.cargo, memory.x, openocd.cfg 等) 已为STM NUCLEO F401RE评估板做好准备。
如果您有该板可用,请运行
cargo build --target thumbv7em-none-eabihf --example show-led-output
openocd-flash.sh target/thumbv7em-none-eabihf/release/examples/show-led-output
或者您可以使用cargo-flash工具。
cargo flash --chip stm32f401re --example show-rust-is-good --target thumbv7em-none-eabihf
由于这是一个库,所以没有在 .cargo/config
中配置构建工具链。
测试
测试是通过主机上的单元测试完成的。运行
cargo test --lib --tests
... 以排除示例,因为它们在主机上无法编译
许可证
该项目受
- MIT许可证 (
LICENSE.md
或 在线)
依赖项
~71KB