STM32基本上每個(gè)引腳都有8種配置模式:
1)浮空輸入
2)帶弱上拉輸入
3)帶弱下拉輸入
4)模擬輸入
5)推挽輸出
6)開漏輸出
7)復(fù)用推挽輸出
8)復(fù)用開漏輸出
通常有5種方式使用某個(gè)引腳功能,它們的配置方式如下:
1)作為普通GPIO輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時(shí)不要使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。
2)作為普通GPIO輸出:根據(jù)需要配置該引腳為推挽輸出或開漏輸出,同時(shí)不要使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。
3)作為普通模擬輸入:配置該引腳為模擬輸入模式,同時(shí)不要使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。
4)作為內(nèi)置外設(shè)的輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時(shí)使能該引腳對(duì)應(yīng)的某個(gè)復(fù)用功能模塊。
5)作為內(nèi)置外設(shè)的輸出:根據(jù)需要配置該引腳為復(fù)用推挽輸出或復(fù)用開漏輸出,同時(shí)使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。
注意如果有多個(gè)復(fù)用功能模塊對(duì)應(yīng)同一個(gè)引腳,只能使能其中之一,其它模塊保持非使能狀態(tài)。
stm32復(fù)位后,IO端口處于輸入浮空狀態(tài).
JTAG引腳復(fù)位以后,處于上拉或者下拉狀態(tài).
所有IO端口都具有外部中斷能力,端口必須配置成輸入模式,才能使用外部中斷功能.
IO端口復(fù)用功能配置:
對(duì)于復(fù)用功能輸入,端口可以配置成任意輸入模式或者復(fù)用功能輸出模式.
對(duì)于復(fù)用功能輸出,端口必須配置成復(fù)用功能輸出
對(duì)于雙向復(fù)用功能,端口必須配置成復(fù)用功能輸出
stm32的部分IO端口的復(fù)用功能可以重新映射成另外的復(fù)用功能.
stm32具有GPIO鎖定機(jī)制,即鎖定GPIO配置,下次復(fù)位前不能再修改.
當(dāng)LSE振蕩器關(guān)閉時(shí),OSC32_IN和OSC32_OUT可以用作通用IO PC14和PC15.
當(dāng)進(jìn)入待機(jī)模式或者備份域由Vbat供電,PC14,PC15功能丟失,該兩個(gè)IO口線設(shè)置為模擬輸入功能.
OSC_IN和OSC_OUT可以重新映射為GPIO PD0,PD1.
注意PD0,PD1用于輸出地時(shí)候僅能用于50MHz輸出模式.
注意:PC13,PC14,PC15只能用于2MHz的輸出模式,,最多只能帶30pf的負(fù)載,并且同時(shí)只能使用一個(gè)引腳!!!!!!!!