3.6 `embedded-hal`
06-
embedded-hal — Comprehensive Rust1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/bare-metal/microcontrollers/embedded-hal.html
3.6 embedded-hal
embedded-hal crate 提供覆盖常见微控制器外设的一组 trait:
- GPIO
- PWM
- 延时定时器
- I2C 与 SPI 总线及设备
字节流(如 UART)、CAN 总线与 RNG 的类似 trait 分别拆到 embedded-io、embedded-can 与 rand_core 中。
其他 crate 再基于这些 trait 实现驱动,例如加速度计驱动可能需要一个 I2C 或 SPI 设备实例。
- 这些 trait 覆盖外设的使用,但不覆盖初始化或配置,因为初始化与配置高度依赖平台。
- 许多微控制器都有实现,也有树莓派上 Linux 等其他平台。
embedded-hal-async提供这些 trait 的 async 版本。embedded-hal-nb基于nbcrate,提供另一种非阻塞 I/O 方式。