3 个版本 (破坏性)
0.3.0 | 2024年1月28日 |
---|---|
0.2.0 | 2024年1月18日 |
0.1.0 | 2024年1月12日 |
#1701 在 嵌入式开发
在 bitbot_bsp 中使用
44KB
975 代码行
microbit-bsp
microbit-bsp 是 BBC micro:bit v2 及以上版本的板级支持包(BSP)库。
功能
- 具有字体的 LED 显示驱动器
- 使用 embassy-nrf HAL 对外设进行操作
- Rust Async/Await
示例应用
#![no_std]
#![no_main]
use {defmt_rtt as _, panic_probe as _};
use microbit_bsp::*;
use {
embassy_executor::Spawner,
embassy_futures::select::{select, Either},
embassy_time::Duration,
};
#[embassy_executor::main]
async fn main(_spawner: Spawner) {
let board = Microbit::default();
let mut display = board.display;
let mut btn_a = board.btn_a;
let mut btn_b = board.btn_b;
display.set_brightness(display::Brightness::MAX);
display.scroll("Hello, World!").await;
defmt::info!("Application started, press buttons!");
loop {
match select(btn_a.wait_for_low(), btn_b.wait_for_low()).await {
Either::First(_) => {
display
.display(display::fonts::ARROW_LEFT, Duration::from_secs(1))
.await;
}
Either::Second(_) => {
display
.display(display::fonts::ARROW_RIGHT, Duration::from_secs(1))
.await;
}
}
}
}
示例
运行示例
cd examples/display
cargo run --release
依赖项
~13MB
~318K SLoC