我对嵌入式非常陌生,并试图找出与 nRF52840-DK 设置 USB 通信的正确方法。
对于
nrf52840-hal
(v0.16.0) 有一个例子我试图遵循。要获取外围设备示例,请使用以下内容:
let periph = nrf52840_hal::pac::Peripherals::take().unwrap();
...
let usb_bus = UsbBusAllocator::new(Usbd::new(UsbPeripheral::new(periph.USBD, &clocks)));
但我也想获得 LED,所以我遵循了 nrf52840-dk-bsp
(v0.2.0) 中的
blinky example。 问题是:当我登机时
use nrf52840_dk_bsp::{Board, ...};
...
let mut nrf52 = Board::take().unwrap();
没有
nrf52.USBD
可用。
如果我尝试做
let mut nrf52 = nrf52840_dk_bsp::Board::take().unwrap();
let periph = nrf52840_hal::pac::Peripherals::take().unwrap();
我在调试器中看到,执行停留在
let periph = nrf52840_hal::pac::Peripherals::take().unwrap();
我怀疑我做错了,但很难找到明确的例子或指南。