STM32 管腳 部分對映和全對映

2021-10-01 11:07:55 字數 1213 閱讀 9281

在管腳對映的時候一定要記得開啟對映的時鐘rcc_apb2periph_afio 如下

rcc_apb2periphclockcmd(rcc_apb2periph_afio, enable);

gpio_pinremapconfig(gpio_remap_pd01, enable);    

gpio_pinremapconfig(gpio_remap_swj_disable, enable);//全部釋放

gpio_pinremapconfig(gpio_partialremap_tim3, enable);

gpio_pinremapconfig(gpio_fullremap_tim2, enable);

映**pd0,pd1(外部時鐘管腳,預設為時鐘輸入)。

stm32中關於pd0和pd1的對映有如下說明:

gpio_remap_swj_disable是將jtag所有的管腳全對映為gpio了。

至於部分對映tim3和全對映tim2,等其他的對映可檢視暫存器afio_mapr的說明。如下圖

我的程式使用的是pb4輸出定時器3 通道1的pwm,故此處為gpio_partialremap_tim3部分重對映。

又如下圖,

可以通過選擇gpio_remap_swj_nojtrst     ,將pb4的io功能使用,就是釋放了njtrst的功能。

(1)tim2_ch1 和 tim2_etr 共用乙個引腳,但不能同時使用(因此在此使用這樣的標記: tim2_ch1_etr)

(2)當不使用主振盪器hse時(系統執行於內部的8mhz阻容振盪器), pd0和pd1可以映像到osc_in和osc_out引腳。此功能只能適用於36、 48和64引腳的封裝(pd0和pd1出現在100腳和144腳的封裝上,不必重映像)。

STM32串列埠的部分對映與完全對映

以stm32的usart1來舉例 預設使用的是pa9為tx,pa10為rx,當需要開啟復用功能時,需要注意修改以下幾個地方的 1 時鐘的開啟 當使用復用功能後,就需要開啟復用時鐘rcc apb2periph afio 2 初始化引腳的不同,原來的是pa9,pa10,但是現在要初始化pb6,pb7,這...

STM32串列埠的部分對映與完全對映

覺得不錯分享給大家,學習!以stm32的usart1來舉例 預設使用的是pa9為tx,pa10為rx,當需要開啟復用功能時,需要注意修改以下幾個地方的 1 時鐘的開啟 當使用復用功能後,就需要開啟復用時鐘rcc apb2periph afio 2 初始化引腳的不同,原來的是pa9,pa10,但是現在...

STM32串列埠的部分對映與完全對映

覺得不錯分享給大家,學習!以stm32的usart1來舉例 預設使用的是pa9為tx,pa10為rx,當需要開啟復用功能時,需要注意修改以下幾個地方的 1 時鐘的開啟 當使用復用功能後,就需要開啟復用時鐘rcc apb2periph afio 2 初始化引腳的不同,原來的是pa9,pa10,但是現在...