新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32F105 USB管腳Vbus的處理

        STM32F105 USB管腳Vbus的處理

        作者: 時間:2016-11-10 來源:網絡 收藏
        對于STM32F105/107來說,為了監測USB的連接問題,程序默認是通過Vbus管腳進行檢查的。但是Vbus管腳和UART1的TXD復用,導致我們在使用UART1發送數據時候,USB重啟的問題。為了解決這個問題,本人查了大量的資料和咨詢了不太靠譜的STM32技術支持,一直沒有得到解決的方法。

        在STM32F105數據手冊上是這樣說的“如果另一個共享的外設要使用OTG_FS_VBUS引腳(PA9)或把它作為通用I/O口,必須激活PHY的斷電模式(清除OTG_FS_GCCFG寄存器的位16)。”這個位在程序中的定義如下:
        1. gccfg.d32 = 0;
        2. gccfg.b.vbussensingB = 1;
        3. gccfg.b.pwdn = 1;
        復制代碼

        位16即為pwdn,在程序中把這個為清零后USB根本不會去檢查USB枚舉,完全無法實現USB通信,所以根據手冊解決是不行的。

        我們都知道STM32F103是通過在D+管腳上加入上拉電阻實現軟連接的,那么同樣在這個管腳上進行軟連接控制,初始化后直接把D+上拉,這樣USB檢查是沒有問題了,同時在通過UART1的TXD發送數據時,由于D+已經被上拉,所以即使Vbus被拉低了但D+還是被拉高,過USB不會重啟,從而實現了USB和UART1的共用。


        關鍵詞: STM32F105USB管腳Vbu

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 屏东市| 德庆县| 台前县| 南川市| 阿坝县| 达拉特旗| 昌吉市| 广宁县| 宁强县| 山东省| 慈溪市| 吴旗县| 海门市| 竹山县| 怀来县| 沽源县| 兴和县| 静乐县| 汾阳市| 常山县| 石柱| 吴桥县| 黄大仙区| 红原县| 曲阜市| 闻喜县| 宾川县| 娄底市| 正定县| 阿克陶县| 岑巩县| 麻城市| 桃园市| 尚志市| 贵定县| 连山| 徐水县| 桐庐县| 临夏市| 莆田市| 涡阳县|