Tho*_*aux 6 embedded usb events interrupt
我目前正在使用支持USB的低功耗设备,我遇到了一些麻烦.在正常操作期间,系统时钟设置为明显较慢的速度(因为这是一个数据记录器,每隔几分钟只激活一次,这不是问题).但是,当设备插入计算机上的USB端口时,它需要识别这一点,初始化USB堆栈(我可以这样做),并将系统时钟重置为全速(我也可以这样做) .
您可能已经注意到,我的问题是"USB连接"事件.我正在查看STM32评估材料,它们在IRQn表中有一个"USB_FS_WKUP_IRQn",而STM32评估板也有USB-5V电源连接到引脚PE6,它也可以作为WKUP3.
我是否需要为该引脚启用外部中断,或者是否有更好的方法来检测此类事件并根据需要设置/重置时钟?
提前致谢.
根据您提到的中断名称,我找到了这个实现:
// Enable the USB Wake-up interrupt
NVICInit.NVIC_IRQChannel = USB_FS_WKUP_IRQn;
NVICInit.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_Init(&NVICInit);
Run Code Online (Sandbox Code Playgroud)
看来你不需要更多了。该实现可能与您使用的 STM32 系列不同。