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