STM32學習 埠復用及對映

2021-09-25 19:04:17 字數 2191 閱讀 6183

stm32有很多的內建外設,這些外設的外部引腳都是與gpio復用的。也就是說,乙個gpio如果可以復用為內建外設的功能引腳,那麼當這個gpio作為內建外設使用的時候,就叫做復用。

哪些埠可以復用為什麼,這個查表就可以了

比如af1要復用到tim1;

通過設定afrl暫存器和afrh暫存器

就可以af1----->tim1;

一組io口有16個 gpioaf0~15

afrl負責低八位io

afrh負責高八位io

除了adc或者dac配置為模擬之外,其他外設都要配置為復用

//完整版

rcc_ahb1periphclockcmd

(rcc_ahb1periph_gpioa, enable)

;rcc_apb2periphclockcmd

(rcc_apb2periph_usart1, enable)

; gpio_inittypedef gpio_initstructure;

gpio_initstructure.gpio_pin = gpio_pin_9|gpio_pin_10;

gpio_initstructure.gpio_speed = gpio_speed_50mhz;

gpio_initstructure.gpio_mode = gpio_mode_af;

//復用

gpio_initstructure.gpio_otype = gpio_otype_pp;

gpio_initstructure.gpio_pupd = gpio_pupd_up;

//上拉

gpio_init

(gpioa,

&gpio_initstructure)

;//初始化gpioa.9,10

gpioa5 復用為adc1通道5 io口

//先初始化adc1通道5 io口

gpio_inittypedef gpio_initstructure;

gpio_initstructure.gpio_pin = gpio_pin_5;

//pa5 通道5

gpio_initstructure.gpio_mode = gpio_mode_an;

//模擬輸入

gpio_initstructure.gpio_pupd = gpio_pupd_nopull ;

//不帶上下拉

gpio_init

(gpioa,

&gpio_initstructure)

;//初始化

STM32埠復用 埠重對映

埠復用功能 stm32有很多的內部外設,這些外設的外部引腳都是與gpio復用的。也就是說,乙個gpio如果可以復用為內部外設的功能引腳,那麼當這個gpio作為內部外設使用的時候,就叫做復用。譬如,mcu都有串列埠,stm32有好幾個串列埠。比如說stm32f103zet6有5個串列埠,我們可以查手冊...

STM32埠復用和重對映

stm32的引腳可設定為可設定為 普通io功能 復用功能 重對映功能。不過普通io功能 復用功能用得比較多。復用 在tsm32裡面,大部分的引腳都是有gpio復用功能,也就是說,乙個 gpio如果可以復用為內建外設的功能引腳,那麼當這個 gpio 作為內建外設使用的時候,就叫做復用。例如圖下方框 串...

STM32學習筆記 埠復用和重對映

乙個 gpio如果可以復用為內建外設的功能引腳,那麼當這個 gpio 作為內建外設使用的時候,就叫做復用。比如說 stm32f103rbt6 的串列埠 1 的引腳對應的 io 為 pa9,pa10.pa9,pa10 預設功能是 gpio,所以當pa9,pa10 引腳作為串列埠 1 的 tx,rx 引...