STM32F105 USB管腳Vbus的處理
在STM32F105數(shù)據(jù)手冊上是這樣說的“如果另一個共享的外設(shè)要使用OTG_FS_VBUS引腳(PA9)或把它作為通用I/O口,必須激活PHY的斷電模式(清除OTG_FS_GCCFG寄存器的位16)。”這個位在程序中的定義如下:
- gccfg.d32 = 0;
- gccfg.b.vbussensingB = 1;
- gccfg.b.pwdn = 1;
位16即為pwdn,在程序中把這個為清零后USB根本不會去檢查USB枚舉,完全無法實現(xiàn)USB通信,所以根據(jù)手冊解決是不行的。
我們都知道STM32F103是通過在D+管腳上加入上拉電阻實現(xiàn)軟連接的,那么同樣在這個管腳上進(jìn)行軟連接控制,初始化后直接把D+上拉,這樣USB檢查是沒有問題了,同時在通過UART1的TXD發(fā)送數(shù)據(jù)時,由于D+已經(jīng)被上拉,所以即使Vbus被拉低了但D+還是被拉高,過USB不會重啟,從而實現(xiàn)了USB和UART1的共用。
評論