#embedded-hal #driver #wireless #nrf24l01 #nrf

无需 std embedded-nrf24l01

NRF24L01(+) 收发器在嵌入式-hal 平台上的驱动程序

4 个版本 (2 个破坏性更新)

0.2.0 2020年8月14日
0.1.0 2018年5月26日
0.0.1 2018年5月15日
0.0.0 2018年5月15日

#640 in 嵌入式开发


commune 中使用

Apache-2.0

43KB
1K SLoC

嵌入式-nrf24l01

特性

  • 专为与嵌入式-hal 包协同使用而设计
  • 安全且声明式的寄存器定义
  • 芯片操作模式提升到类型级别
  • 使用默认配置直接进入 RX/TX

仍需改进

  • 自动应答支持

参考数据表

使用说明

参数

为您的微控制器单元获取 *-hal 包。找出如何访问实现这些嵌入式-hal 特性的外设

  • embedded_hal::blocking::spi::Transfer 用于 SPI 外设

    我们提供了一个包含一些 SPI 常数的 mod setup

  • embedded_hal::digital::OutputPin 用于 CE 引脚

  • embedded_hal::digital::OutputPin 用于 CSN 引脚

    (尽管这属于 SPI,但我们发现将其在软件中实现更加可靠。)

构造函数

let mut nrf24 = NRF24L01::new(ce, csn, spi).unwrap();

这将提供一个 Standby 实例。您可以使用 .rx().tx() 来将实例传输到 RXModeTXMode。它们实现了 .standby() 方法,以便返回到 Standby 然后切换到另一种模式。

RXMode

使用 rx.can_read() 来轮询(返回管道号),然后使用 rx.read() 来接收有效载荷。

TX模式

使用 tx.send() 来入队一个数据包。

使用 tx.can_send() 来防止在队列满时发送,并使用 tx.wait_empty() 来清空队列。

依赖关系

~110KB