STM32端口輸入輸出模式配置


STM32的IO口模式配置

根據數據手冊提供的信息,stm32的io口一共有八種模式,他們分別是:

四種輸入模式

  1. 上拉輸入:通過內部的上拉電阻將一個不確定的信號通過一個電阻拉到高電平。
  2. 下拉輸入:把電壓拉到GND。與上拉原理相似。
  3. 浮空輸入:引腳內部什么都不接,處於浮空模式下,電平狀態是不確定的。外部信號輸入什么,IO口就是什么狀態。
  4. 模擬輸入:接收到的是連續的模擬信號,一般用於AD轉換。

四種輸出模式

  1. 推挽輸出:可以輸出高低電平,連接數字器件。在stm32中推挽電路由兩個MOS管組成:輸出高電平時P-MOS管導通,引腳聯通VDD(3.3v)。輸出低電平時N-MOS導通,引腳聯通GND。**該方式既提高電路的負載能力,又提高開關速度。 **
  2. 開漏輸出:無法直接輸出高電平,要在外部連接上拉電阻才行,輸出的電壓由上拉電阻連接的電源決定。適合做電流型的驅動,其吸收電流的能力相對強(一般20ma以內)。開漏輸出還有一個特性:線與。即很多開漏模式引腳連接在一起,只有當所有引腳都輸出1時,才能夠被上拉電阻拉到高電平。若有一個引腳為低電平,則所有引腳相當於接地。
  3. 復用推挽輸出:簡單來說就是給內部外設使用的推挽輸出模式,
  4. 復用開漏輸出:簡單來說就是給內部外設使用的開漏輸出模式

在STM32中,根據不同的使用場景,選用不同的IO模式:

  1. GPIO_Mode_AIN: 模擬輸入,一般用作模數轉換
  2. GPIO_Mode_IN_FLOATING: 浮空輸入,常用在key識別上
  3. **GPIO_Mode_IPD: **下拉輸入--- IO內部下拉電阻輸入
  4. GPIO_Mode_IPU:上拉輸入--- IO內部上拉電阻輸入
  5. GPIO_Mode_Out_OD: 開漏輸出---可以外接上拉電阻輸出較高的電平,也能夠通過讀取IO的電平變化實現C51的IO雙向功能。
  6. **GPIO_Mode_Out_PP: **推挽輸出---IO輸出0-接GND,IO輸出1 -接VCC,讀輸入值是未知的。
  7. GPIO_Mode_AF_OD:復用開漏輸出---片內外設功能(TX1,MOSI,MISO.SCK.SS)。
  8. GPIO_Mode_AF_PP: 復用推挽輸出---片內外設功能(I2C的SCL,SDA)。

根據下面的IO結構圖可能更有利於理解:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM