在管腳對映的時候一定要記得開啟對映的時鐘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,但是現在...