STM32的IO口的8種配置詳解

2021-09-11 13:55:18 字數 2346 閱讀 1893

**

i/o口的輸出模式下。有3種輸出速度可選(2mhz、10mhz和50mhz),這個速度是指i/o口驅動電路的響應速度而不是輸出訊號的速度,輸出訊號的速度與程式有關(晶元內部在i/o口 的輸出部分安排了多個響應速度不同的輸出驅動電路,使用者能夠依據自己的須要選擇合適的驅動電路)。通過選擇速度來選擇不同的輸出驅動模組。達到最佳的雜訊 控制和減少功耗的目的。

高頻的驅動電路。雜訊也高,當不須要高的輸出頻率時,請選用低頻驅動電路,這樣非常有利於提高系統的emi效能。

當然假設要輸出較高頻率的訊號,但卻選用了較低頻率的驅動模組。非常可能會得到失真的輸出訊號。

1 、對於串列埠,假如最大波特率僅僅需115.2k,那麼用2m的gpio的引腳速度就夠了,既省電也雜訊小。

2 、對於i2c介面。假如使用400k波特率,若想把餘量留大些,那麼用2m的gpio的引腳速度也許不夠,這時能夠選用10m的gpio引腳速度。

3、對於spi介面,假如使用18m或9m波特率,用10m的gpio的引腳速度顯然不夠了。須要選用50m的gpio的引腳速度。

4、 gpio口設為輸入時。輸出驅動電路與port是斷開。所以輸出速度配置無意義。

5、在復位期間和剛復位後,復用功能未開啟,i/oport被配置成浮空輸入模式。

6、全部port都有外部中斷能力。為了使用外部中斷線,port必須配置成輸入模式。

7、gpio口的配置具有上鎖功能,當配置好gpio口後,能夠通過程式鎖住配置組合,直到下次晶元復位才幹解鎖。

8 、在stm32中怎樣配置片內外設使用的ioport

首先,乙個外設經過①配置輸入的時鐘和②初始化後即被啟用(開啟);③假設使用該外設的輸入輸出管腳,則須要配置相應的gpioport(否則該外設相應的輸入輸出管腳能夠做普通gpio管腳使用);④再對外設進行具體配置。

一、外設相應的管腳為輸出:須要依據外圍電路的配置選擇相應的管腳為復用功能的推挽輸出或復用功能的開漏輸出。

二、外設相應的管腳為輸入:則依據外圍電路的配置能夠選擇浮空輸入、帶上拉輸入或帶下拉輸入。

三、adc相應的管腳:配置管腳為模擬輸入。

假設把port配置成復用輸出功能。則引腳和輸出暫存器斷開。並和片上外設的輸出訊號連線。將管腳配置成復用輸出功能後,假設外設沒有被啟用,那麼它的輸出將不確定。

3 通用ioport(gpio)初始化:

1 )gpio初始化

1、 rcc_apb2periphclockcmd(rcc_apb2periph_gpioa | b | c, enable):使能apb2匯流排外設時鐘

2、 rcc_ apb2periphresetcmd (rcc_apb2periph_gpioa | b | c, disable):釋放gpio復位

2) 配置各個pinport(模擬輸入_ain、輸入浮空_in_floating、輸入上拉_ipu、輸入下拉_ipd、開漏輸出_out_od、推挽式輸出_out_pp、推挽式復用輸出_af_pp、開漏復用輸出_af_od)

3) gpio初始化完畢

推挽輸出:可以輸出高,低電平,連線數字器件; 推挽結構一般是指兩個三極體分別受兩互補訊號的控制,總是在乙個三極體導通的時候另乙個截止。高低電平由ic的電源低定。

推挽電路是兩個引數相同的三極體或mosfet,以推挽方式存在於電路中,各負責正負半周的波形放大任務,電路工作時,兩隻對稱的功率開關管每次只有乙個導通,所以導通損耗小、效率高。輸出既可以向負載灌電流,也可以從負載抽取電流。推拉式輸出級既提高電路的負載能力,又提高開關速度。

在stm32中選用io模式

(1) 浮空輸入_in_floating ——浮空輸入,可以做key識別,rx1

(2)帶上拉輸入_ipu——io內部上拉電阻輸入

(3)帶下拉輸入_ipd—— io內部下拉電阻輸入

(4) 模擬輸入_ain ——應用adc模擬輸入,或者低功耗下省電

(5)開漏輸出_out_od ——io輸出0接gnd,io輸出1,懸空,需要外接上拉電阻,才能實現輸出高電平。當輸出為1時,io口的狀態由上拉電阻拉高電平,但由於是開漏輸出模式,這樣io口也就可以由外部電路改變為低電平或不變。可以讀io輸入電平變化,實現c51的io雙向功能

(6)推挽輸出_out_pp ——io輸出0-接gnd, io輸出1 -接vcc,讀輸入值是未知的

(7)復用功能的推挽輸出_af_pp ——片內外設功能(i2c的scl,sda)  ?????

(8)復用功能的開漏輸出_af_od——片內外設功能(tx1,mosi,miso.sck.ss)  ????

STM32的IO口的8種配置

1 stm32的輸入輸出管腳有下面8種可能的配置 4輸入 2輸出 2復用輸出 浮空輸入 in floating 帶上拉輸入 ipu 帶下拉輸入 ipd 模擬輸入 ain 開漏輸出 out od 推挽輸出 out pp 復用功能的推挽輸出 af pp 復用功能的開漏輸出 af od 1.1 i o口的...

STM32的IO口的8種配置

1 stm32的輸入輸出管腳有以下8種可能的配置 4輸入 2輸出 2復用輸出 浮空輸入 in floating 帶上拉輸入 ipu 帶下拉輸入 ipd 模擬輸入 ain 開漏輸出 out od 推挽輸出 out pp 復用功能的推挽輸出 af pp 復用功能的開漏輸出 af od 1.1 i o口的...

STM32的I O口的8種工作模式

stm32的i o口的8種工作模式 gpio mode ain 模擬輸入 gpio mode in floating 浮空輸入 gpio mode ipd 下拉輸入 gpio mode ipu 上拉輸入 gpio mode out od 開漏輸出 gpio mode out pp 推挽輸出 gpio...