STM32自學筆記 復用重對映

2021-07-15 23:20:32 字數 2240 閱讀 8052

什麼事埠復用:

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

如何使用:

1.使能gpio時鐘

2.使能復用功能的時鐘

3.依據資料手冊設定gpio口資料

eg.

rcc_apb2periphclockcmd(rcc_apb2periph_gpioa, enable);//①io時鐘使能

rcc_apb2periphclockcmd(rcc_apb2periph_usart1, enable);//②外設時鐘使能

//③初始化io為對應的模式

gpio_initstructure.gpio_pin = gpio_pin_9; 復用推挽輸出

gpio_initstructure.gpio_speed = gpio_speed_50mhz;

gpio_initstructure.gpio_mode = gpio_mode_af_pp;

gpio_init(gpioa, &gpio_initstructure);

gpio_initstructure.gpio_pin = gpio_pin_10;//pa10 pa.10 浮空輸入

gpio_initstructure.gpio_mode = gpio_mode_in_floating;//浮空輸入

gpio_init(gpioa, &gpio_initstructure);

什麼是埠重對映:

每個內建外設都有若干個輸入輸出引腳,一般這些引腳的輸出埠都是固定不變的,為了讓設計工程師可以更好地安排引腳的走向和功能,在stm32中引入了外設引腳重對映的概念,即乙個外設的引腳除了具有預設的埠外,還可以通過設定重對映暫存器的方式,把這個外設的引腳對映到其它的埠。為了使不同器件封裝的外設io功能數量達到最優,可以把一些復用功能重新對映到其他一些引腳上。stm32中有很多內建外設的輸入輸出引腳都具有重對映(remap)的功能

如何使用:

1.使能重對映後的io口

2.使能功能外設時鐘

3.使能afio時鐘

4. 依據資料手冊設定gpio口資料

5..開啟重對映

eg.

rcc_apb2periphclockcmd(rcc_apb2periph_gpioa, enable);//①io時鐘使能

rcc_apb2periphclockcmd(rcc_apb2periph_usart1, enable);//②外設時鐘使能

rcc_apb2periphclockcmd(rcc_apb2periph_afio, enable);③復用時鐘使能

//④初始化io為對應的模式

gpio_initstructure.gpio_pin = gpio_pin_9; 復用推挽輸出

gpio_initstructure.gpio_speed = gpio_speed_50mhz;

gpio_initstructure.gpio_mode = gpio_mode_af_pp;

gpio_init(gpioa, &gpio_initstructure);

gpio_initstructure.gpio_pin = gpio_pin_10;//pa10 pa.10 浮空輸入

gpio_initstructure.gpio_mode = gpio_mode_in_floating;//浮空輸入

gpio_init(gpioa, &gpio_initstructure);

gpio_pinremapconfig(gpio_remap_usart1, enable);//開啟重對映

afio時鐘什麼時候開啟:

對暫存器afio_mapr,afio_exticrx和afio_evcr進行讀寫操作前,應當首先開啟afio時鐘。

afio_mapr:配置復用功能重對映

afio_exticrx:配置外部中斷線對映

afio_evcr: 配置eventout事件輸出

什麼是部分重對映什麼是完全重對映:

部分重對映中有部分引腳和沒有重對映重疊

為什麼這樣設計:

1.節省io口數量

2.方便pcb減少訊號的交叉干擾

3.可以達到分時復用的目的

STM32埠復用和重對映

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

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

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

STM32之埠復用與重對映

首先來說下什麼是埠復用。stm32有很多的內建外設,這些外設的外部引腳都是與gpio復用的。也就是說,乙個gpio如果可以復用為內建外設的功能引腳,那麼當這個gpio作為內建外設使用的時候,就叫做復用。其實說白了,簡單易懂的說,就是某些普通的外設引腳也可以用來其它功能。比如說那我使用的正點原子哥的板...