二、解决及总结
在使用 USB 模块的情况下, 正常的话 PA9 是作为 OTG_FS_VBUS 功能使用的,但是也可以作为通用的 GPIO 口。
如果配置成为通用的 GPIO, 在该芯片参考手册中,我们发现:
在以往的印象中, 我们一直认为 PA9 用以监测 VBUS 的供电,在取消该监控时(NOVBUSSENS), PA9 可用作普通 I/O 口,
此时, VBUS 默认永远存在。
通过具体的上述的操作, 可以知道,如果想让 USBD 模块下的 PA9 作为 GPIO 口使用,那么需要满足下面两个条件:
1/由于使用到了 PA9 作为通用的 GPIO 口,我们需要关闭 VBUS sensing(bit 21)功能.
2/Bit 19 VBUSBSEN and Bit 18 VBUSASEN 这两个比特位也需要被复位。
客户按照上述重新配置后,问题不再出现。
|