STM32 IO模式

一、總結在STM32中選用IO模式
       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、作爲內置外設的輸出:根據需要配置該引腳爲複用推輓輸出複用開漏輸出,同時使能該引腳對應的所有複用功能模塊
發佈了24 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章