STM32的IO口的8種配置

2021-07-26 15:36:02 字數 1725 閱讀 5806

1 stm32的輸入輸出管腳有下面8種可能的配置:(4輸入+2輸出+2復用輸出)

① 浮空輸入_in_floating

② 帶上拉輸入_ipu

③ 帶下拉輸入_ipd

④ 模擬輸入_ain

⑤ 開漏輸出_out_od

⑥ 推挽輸出_out_pp

⑦ 復用功能的推挽輸出_af_pp

⑧ 復用功能的開漏輸出_af_od

1.1 i/o口的輸出模式下,有3種輸出速度可選(2mhz、10mhz和50mhz),這個速度是指i/o口驅動電路的響應速度而不是輸出訊號的速度,輸出訊號的速度與程式有關(晶元內部在i/o口 的輸出部分安排了多個響應速度不同的輸出驅動電路,使用者可以根據自己的需要選擇合適的驅動電路)。通過選擇速度來選擇不同的輸出驅動模組,達到最佳的雜訊 控制和降低功耗的目的。高頻的驅動電路,雜訊也高,當不需要高的輸出頻率時,請選用低頻驅動電路,這樣非常有利於提高系統的emi效能。當然如果要輸出較高頻率的訊號,但卻選用了較低頻率的驅動模組,很可能會得到失真的輸出訊號。

關鍵是gpio的引腳速度跟應用匹配(推薦10倍以上?)。比如:

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

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

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

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

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

1.4 所有埠都有外部中斷能力。為了使用外部中斷線,埠必須配置成輸入模式。

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

2 在stm32中如何配置片內外設使用的io埠

首先,乙個外設經過 ①配置輸入的時鐘和 ②初始化後即被啟用(開啟);③如果使用該外設的輸入輸出管腳,則需要配置相應的gpio埠(否則該外設對應的輸入輸出管腳可以做普通gpio管腳使用);④再對外設進行詳細配置。

對應到外設的輸入輸出功能有下述三種情況:

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

二、外設對應的管腳為輸入:則根據外圍電路的配置可以選擇浮空輸入、帶上拉輸入或帶下拉輸入。

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

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

3 通用io埠(gpio)初始化:

3.1 gpio初始化

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

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

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

3.3 gpio初始化完成

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種配置詳解

i o口的輸出模式下。有3種輸出速度可選 2mhz 10mhz和50mhz 這個速度是指i o口驅動電路的響應速度而不是輸出訊號的速度,輸出訊號的速度與程式有關 晶元內部在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...