之前项目用STM32F207,现在升级到用STM32F446处理器,用到USB的OTG_FS模式接法:
1、USB只连接了DP/DM
2、DP需上拉1.5K的电阻到3.3V
3、PA9(VBUS) 和ID都没接,悬空
给软件人员进行调试时,他倒腾快2周了,USB死活没法连上,就开始怀疑到我板子上,设计有问题,说是有可能PA9 (VBUS)没接5V的原因,
这给我气的,我最讨厌有人说我设计的板子有问题,后来亲自查资料,看网上有人提到这个问题,VBUS这个PIN可以进行设置的,可以关掉
VBUS检测功能。然后我在他的Keil工程里添加一个宏“VBUS_SENSING_ENABLE”(具体在哪个位置看下图),重新编译下载,搞定。
让我一个搞硬件的在半天内搞定这个事,真爽。
说到这,可以在工程里搜“VBUS_SENSING_ENABLE”这个宏,仔细看,可以看到有个地方是Disablesensing = 1,就是关掉VBUS进行检测。
关于VBUS的连接,最清晰的解释在参考手册内,如下:
The VBUS pin can be freed by disabling the VBUS sensing option.
This is done by setting the NOVBUSSENS bit in the OTG_FS_GCCFG register.
In this case the VBUS is considered internally to be always at VBUS valid level (5 V).