STM32 IO口模式介紹

GPIO_Mode_AIN:模擬輸入模式
GPIO_Mode_IN_FLOATING:浮空輸入模式
GPIO_Mode_IPD:下拉輸入模式
GPIO_Mode_IPU:上拉輸入模式
GPIO_Mode_Out_OD:通用開漏輸出模式
GPIO_Mode_Out_PP:通用推輓輸出模式
GPIO_Mode_AF_OD:複用開漏輸出模式
GPIO_Mode_AF_PP:複用推輓輸出模式

前四個是輸入模式,後四個是輸出模式。

1. 輸入和輸出

從51過來的人,對輸入和輸出比較陌生。51單片機不用設置輸入和輸出模式,自動變換,無需程序配置,當我們寫程序讀引腳的電平的時候,實際上就是作爲輸入模式來使用,當我們寫程序讓引腳輸出電平的時候,實際上就是作爲輸出模式來使用。也就是說,並不是51單片機沒有輸入和輸出這個概念,而是你已經使用了很久卻沒有發現。

STM32與51的區別就是:當我們要讀引腳電平的時候,也就是作爲輸入,我們必須要先把引腳設置爲輸入功能,纔可以讀。當我們要控制引腳高低電平的時候,也就是作爲輸出,我們必須要先把引腳設置爲輸出功能,纔可以設置。

2. 上拉與下拉

概念比較抽象,你只需要記住:在引腳上沒有外界干擾的情況下,上拉就是把引腳設置爲高電平了,你用萬用表量上拉引腳,就是高電平;下拉就是把引腳設置爲低電平了,你用萬用表量下拉引腳,就是低電平,也就是0V。

3. 推輓與開漏

概念比較抽象,你只需要記住:設置爲推輓,就是提高了引腳的輸出電流能力。設置爲開漏,就是提高了引腳的輸入電流能力。然後還要知道,設置爲開漏時,如果外部不加上拉電阻,默認輸出是低電平。

4. 通用與複用

通用就是作爲普通的輸入和輸出引腳。複用就是該引腳可以作爲SPI引腳I2C引腳等其他功能的引腳。

5. 使用介紹

結合上面講的,可以得到一些簡單的應用設置方式。

比如檢測按鍵,就應該設置爲輸入,如果外部沒有加上拉電阻,你就需要設置引腳爲上拉輸入,這樣如果檢測到引腳是低電平,就是按下按鍵了。如果外部加了上拉電阻,你這時既可以把引腳設置爲上拉輸入,也可以設置爲浮空輸入,設置爲這兩種,由於外部上拉電阻的原因,默認就是高電平,同樣,檢測到低電平時,就是按鍵按下了。

當你要控制引腳高低電平做應用時,就是需要把引腳設置爲輸出功能。例如驅動一個器件,驅動一個發光二極管等。如果你要使用高電平點亮發光二極管,就需要把引腳設置爲推輓輸出,以增大電流輸出能力,如果你設置爲開漏輸出,發光二極管肯定是點不亮了。但是如果你使用低電平點亮發光二極管,那麼設置爲開漏和推輓輸出都可以正常點亮發光二極管。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章