分为三个步骤: 1. 调用 usb_low_power_wakeup_config(); BSP 中的 demo 则打开 usb_conf.h 中打开宏定义#define USB_LOW_POWER_WAKUP 即可 2. 在需要唤醒主机的地方,调用 usbd_core.c 下唤醒函数 void usbd_remote_wakeup(usbd_core_type *udev);
3. 需要注意配置描述符里的第 bmAttributes 要配置为 0xE0(self powered and support remote wakeup)。
以上三个步骤设置完成后,还需要注意在电脑端打开允许外部 USB 设备唤醒计算机功能,如下图:
该功能的实现可参考 BSP 中如下 demo:AT32F4XX_Firmware_Library_V2.x.x\project\at_start_f4xx\examples\usb_device\mouse
|