有沒有小伙伴遇到這種情況:在使用GD32F303的時候,想要將PA13~15以及PB3和PB4作為IO口來使用,卻怎么也不成功呢?下面小編就來告訴大家原因。
我們先來看下GD32F303 datasheet中這幾個引腳的定義:
![wKgaomW6-G2AF4dHAACU62Xv93E371.png](https://file1.elecfans.com/web2/M00/C0/15/wKgaomW6-G2AF4dHAACU62Xv93E371.png)
![wKgZomW6-GmAT3uiAACfvdxjzog334.png](https://file1.elecfans.com/web2/M00/BF/27/wKgZomW6-GmAT3uiAACfvdxjzog334.png)
原來,這幾個引腳比較特殊,它們在默認情況下,是用于調試的JTAG/SWD口功能,想要當做普通IO口或者其他復用功能來使用需要進行“remap”。
那么如何進行remap呢?我們再來看下GD32F303 用戶手冊中的《GPIO和AFIO》章節中的JTAG/SWD 備用功能重映射介紹:
![wKgZomW6-G-AK6geAADRYq3XovQ877.png](https://file1.elecfans.com/web2/M00/BF/27/wKgZomW6-G-AK6geAADRYq3XovQ877.png)
![wKgZomW6-G-ADtMZAADx2ojm2Q4011.png](https://file1.elecfans.com/web2/M00/BF/28/wKgZomW6-G-ADtMZAADx2ojm2Q4011.png)
可以看到,remap有多種模式可以選擇,比如將SWJ_CFG設置為“010”,那么就可以保留SWD功能,即PA13和PA14還可以用于調試,而PA15、PB3和PB4則被“釋放”,從而可以當做普通IO或者其他復用功能引腳使用;若設置SWJ_CFG為“100”,那么PA13~PA15、PB3、PB4都可以當做普通IO口來使用,但注意,這個時候要想再用SWD模式去調試MCU會失敗哦。
現在來教大家如何通過庫函數實現JATG/SWD的remap功能。
通過用戶手冊我們可以看到SWJ_CFG【2:0】位于AFIO_PCF0中,所以必須要先打開AF時鐘:
![wKgaomW6-HyAGwjpAAD0dvIWXOQ826.png](https://file1.elecfans.com/web2/M00/C0/15/wKgaomW6-HyAGwjpAAD0dvIWXOQ826.png)
然后再使用gpio_pin_remap_config函數進行remap配置就可以了。所以完整的代碼是:
調用該段代碼后,小伙伴們就可以將這些特殊引腳配置為你想要的功能啦!
-
單片機
+關注
關注
6043文章
44622瀏覽量
638527 -
IO
+關注
關注
0文章
461瀏覽量
39369 -
嵌入式
+關注
關注
5092文章
19177瀏覽量
307653
發布評論請先 登錄
相關推薦
STM32H750 PB3、PB4、PB5配置成SPI功能需要額外處理JTAG功能嗎?
![](https://file1.elecfans.com/web2/M00/BF/28/wKgZomW6-kOALt_7AAtaULYH33Y631.png)
stm32特殊IO口PA13,PA14,PA15,PB3,PB4轉普通
配置PB4和PB3輸出電平一直是高
PB3 PB4請問如何當普通IO使用
AT32F403A PB3 PB4 PA15如何用作普通IO使用
PB3 PB4不能輸出他所需要的電平狀態原因
在KEIL5軟件中使用STLINK仿真器仿真時出錯怎么辦
請問CH32F103 SPI1如何切換到PB3 PB4 PB5?
STM32單片機,STLINK的SW仿真時“no target connected”問題及處理
![STM32單片機,STLINK的SW仿真時“no target connected”問題及處理](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
GD32F303固件庫開發(13)----定時器TIM捕獲PWM測量頻率與占空比
![<b class='flag-5'>GD32F303</b>固件庫開發(<b class='flag-5'>13</b>)----定時器TIM捕獲PWM測量頻率與占空比](https://file.elecfans.com/web2/M00/7F/44/pYYBAGOG-mCABL1OAABYRteGsss251.png)
【GD32F303紅楓派開發板使用手冊】第二講 GPIO-流水燈實驗
![【<b class='flag-5'>GD32F303</b>紅楓派開發板使用手冊】第二講 GPIO-流水燈實驗](https://file1.elecfans.com/web2/M00/EA/0A/wKgZomZWjIGAa8HvAAAfwpvxoD4203.png)
【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503
![【<b class='flag-5'>GD</b>32 MCU 移植教程】2、從 <b class='flag-5'>GD32F303</b> 移植到 <b class='flag-5'>GD32F</b>503](https://file1.elecfans.com/web2/M00/05/B4/wKgaombSc4eAC86hAAB_e6oIxhc582.png)
評論