stm32GPIO8種模式


stm32GPIO工作模式及用途

   1、浮空輸入GPIO_IN_FLOATING ——浮空輸入,可以做KEY識別,RX1
       2、帶上拉輸入GPIO_IPU——IO內部上拉電阻輸入
       3、帶下拉輸入GPIO_IPD—— IO內部下拉電阻輸入
       4、模擬輸入GPIO_AIN ——應用ADC模擬輸入,或者低功耗下省電
       5、開漏輸出GPIO_OUT_OD ——IO輸出0接GND,IO輸出1,懸空,需要外接上拉電阻,才能實現輸出高電平。當輸出為1時,IO口的狀態由上拉電阻拉高電平,但由於是開漏輸出模式,這樣IO口也就可以由外部電路改變為低電平或不變。可以讀IO輸入電平變化,實現C51的IO雙向功能
       6、推挽輸出GPIO_OUT_PP ——IO輸出0-接GND, IO輸出1 -接VCC,讀輸入值是未知的
       7、復用功能的推挽輸出GPIO_AF_PP ——片內外設功能(I2C的SCL,SDA)
       8、復用功能的開漏輸出GPIO_AF_OD——片內外設功能(TX1,MOSI,MISO.SCK.SS)

stm32設置實例:

       1、模擬I2C使用開漏輸出_OUT_OD,接上拉電阻,能夠正確輸出0和1;讀值時先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以讀IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
       2、如果是無上拉電阻,IO默認是高電平;需要讀取IO的值,可以使用帶上拉輸入_IPU和浮空輸入_IN_FLOATING和開漏輸出_OUT_OD;

通常有5種方式使用某個引腳功能,配置如下:

  1、作為普通GPIO輸入:根據需要配置該引腳為浮空輸入帶弱上拉輸入帶弱下拉輸入,同時不要使能該引腳對應的所有復用功能模塊。
      2、作為普通GPIO輸出:根據需要配置該引腳為推挽輸出開漏輸出,同時不要使能該引腳對應的所有復用功能模塊。
      3、作為普通模擬輸入:配置該引腳為模擬輸入模式,同時不要使能該引腳對應的所有復用功能模塊。
      4、作為內置外設的輸入:根據需要配置該引腳為浮空輸入帶弱上拉輸入帶弱下拉輸入,同時使能該引腳對應的某個復用功能模塊。
      5、作為內置外設的輸出:根據需要配置該引腳為復用推挽輸出復用開漏輸出,同時使能該引腳對應的所有復用功能模塊。


免責聲明!

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



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