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 引...