如果大家在進(jìn)行GD32 MCU開發(fā)時(shí)發(fā)現(xiàn)GPIO引腳使用不足,可以嘗試將燒錄口配置為GPIO使用,這樣就可以多出幾個(gè)引腳使用,但使用的時(shí)候如何配置以及有哪些注意事項(xiàng),本視頻將會為大家進(jìn)行解答。
GD32 MCU存在兩種GPIO備用功能的配置,一種是采用成組重映射REMAP的模式,比如GD32F10X/20x/30x/e10x/E50X等系列,一種是采用AFIO模式,比如GD32F1X0/3X0/4XX/E230等。
成組reamp重映射的模式需要將一組的GPIO進(jìn)行重映射,如下圖GD32F30X IIC0的重映射配置,PB6和PB8需要組合使用,PB7和PB9需要組合使用,而PB6和PB9就不可以組合使用。
![wKgaomXUC2WAdEVsAAEArUwb0XQ075.png](https://file1.elecfans.com/web2/M00/C1/2C/wKgaomXUC2WAdEVsAAEArUwb0XQ075.png)
AFIO模式相較于REMAP的方式,使用更靈活,采用AFIO配置表進(jìn)行配置,只要這個(gè)引腳具有的功能都可以使用,如下圖GD32F3X0的AF表,根據(jù)表中的配置可以隨意使用。
![wKgaomXUC2qAe30nAAUS2hTFcjI741.png](https://file1.elecfans.com/web2/M00/C1/2C/wKgaomXUC2qAe30nAAUS2hTFcjI741.png)
掌握了以上兩種GPIO備用功能配置,我們就介紹下兩種備用功能下調(diào)試口如何作為GPIO使用:
1、remap重映射模式下
如下圖所示,可通過調(diào)整SWJ_CFG控制位進(jìn)行配置。
![wKgaomXUC3GAEy7wAAJ0FtM3IMY925.png](https://file1.elecfans.com/web2/M00/C1/2C/wKgaomXUC3GAEy7wAAJ0FtM3IMY925.png)
具體配置代碼如下圖所示
rcu_periph_clock_enable(RCU_AF); gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE);
具體remap形參配置有以下三種,GPIO_SWJ_NONJTRST_REMAP為全SWD功能,NJTRST可以作為GPIO使用,GPIO_SWJ_SWDPENABLE_REMAP為禁用JTAG,使能SWD,也就是PB15/PB3/PB4可以作為GPIO;GPIO_SWJ_DISABLE_REMAP為JTAG和SWD均禁用,所有的燒錄口都可以作為GPIO。
\arg GPIO_SWJ_NONJTRST_REMAP: full SWJ(JTAG-DP + SW-DP),but without NJTRST \arg GPIO_SWJ_SWDPENABLE_REMAP: JTAG-DP disabled and SW-DP enabled \arg GPIO_SWJ_DISABLE_REMAP: JTAG-DP disabled and SW-DP disabled
配置燒錄口對應(yīng)的REMAP后,就可以正常配置GPIO了。
2、AFIO模式下
在AFIO模式下,將燒錄口對應(yīng)的引腳配置為GPIO模式即可作為GPIO使用了。
在配置燒錄口作為GPIO使用的時(shí)候,需要大家特別注意,配置之后燒錄口就不可以作為燒錄功能了,除非將代碼擦除,會影響大家調(diào)試代碼,因而建議大家可以在配置燒錄口為GPIO之前預(yù)留幾秒鐘的時(shí)間窗口,這樣下次需要燒錄的時(shí)候可以復(fù)位后擦除或者燒錄,實(shí)際量產(chǎn)后如果不需要這個(gè)延遲,可以再將延遲去除。如果時(shí)間窗口非常小,一上電就禁用燒錄口了,大家可以嘗試進(jìn)入ISP Bootloader擦除后再燒錄。
以上即為本期講解,如有問題或建議,歡迎評論區(qū)討論。
-
單片機(jī)
+關(guān)注
關(guān)注
6044文章
44624瀏覽量
638955 -
mcu
+關(guān)注
關(guān)注
146文章
17357瀏覽量
352790 -
GPIO
+關(guān)注
關(guān)注
16文章
1217瀏覽量
52434 -
燒錄
+關(guān)注
關(guān)注
8文章
266瀏覽量
35735 -
GD32
+關(guān)注
關(guān)注
7文章
416瀏覽量
24501
發(fā)布評論請先 登錄
相關(guān)推薦
GD32單片機(jī)GPIO結(jié)構(gòu)及注意事項(xiàng)
![<b class='flag-5'>GD32</b>單片機(jī)<b class='flag-5'>GPIO</b>結(jié)構(gòu)及注意事項(xiàng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【GD32 MCU入門教程】GD32 MCU GPIO 結(jié)構(gòu)與使用注意事項(xiàng)
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>GPIO</b> 結(jié)構(gòu)與使用注意事項(xiàng)](https://file1.elecfans.com/web2/M00/06/89/wKgaombbu8qAXdJKAAAW--yDqzA279.png)
【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(14)RTC 模塊介紹
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設(shè)介紹(14)RTC 模塊介紹](https://file1.elecfans.com/web2/M00/03/E0/wKgZombH42WAIyq2AAA3DFzN548758.png)
GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(12)FMC 模塊介紹
![<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設(shè)介紹(12)FMC 模塊介紹](https://file1.elecfans.com/web2/M00/04/87/wKgaombFSS2AWG-GAAB5lPnhR3c604.png)
【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(3)脫機(jī)燒錄
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>燒錄</b>說明(3)脫機(jī)<b class='flag-5'>燒錄</b>](https://file1.elecfans.com/web2/M00/01/52/wKgZoma0k4mAPeLWAADZE2JooiI020.png)
【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>燒錄</b>說明 (2)SWD/JTAG在線下載](https://file1.elecfans.com/web2/M00/02/3E/wKgaoma0kR6ATpzXAADFgXwSppw100.png)
【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(1)ISP 燒錄
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>燒錄</b>說明(1)ISP <b class='flag-5'>燒錄</b>](https://file1.elecfans.com/web2/M00/02/38/wKgaoma0f8SAB_h5AAAvpALfiNs789.png)
【GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(3)使用 Embedded Builder 開發(fā) GD32
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 開發(fā)環(huán)境搭建(3)使用 Embedded Builder 開發(fā) <b class='flag-5'>GD32</b>](https://file1.elecfans.com/web2/M00/02/37/wKgaoma0e3mANRvBAAAxO0zTl60782.png)
【GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(2)使用 IAR 開發(fā) GD32
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 開發(fā)環(huán)境搭建(2)使用 IAR 開發(fā) <b class='flag-5'>GD32</b>](https://file1.elecfans.com/web2/M00/01/49/wKgZoma0doSAZgTbAABV8x9Lb_4326.png)
【GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(1)使用Keil開發(fā)GD32
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 開發(fā)環(huán)境搭建(1)使用Keil開發(fā)<b class='flag-5'>GD32</b>](https://file1.elecfans.com/web2/M00/02/32/wKgaoma0bSqAZmYJAABWzE6EVjY883.png)
都是32位MCU,ESP32、GD32、STM32有什么區(qū)別
![都是32位<b class='flag-5'>MCU</b>,ESP32、<b class='flag-5'>GD32</b>、STM32有什么區(qū)別](https://file.elecfans.com/web2/M00/02/C4/pYYBAGDSzfeAP86XAAAO5PbqJbI698.png)
GD32 MCU ISP失敗的原因
![<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> ISP失敗的原因](https://file1.elecfans.com/web2/M00/C1/B2/wKgZomXeix-AYt0QAAA9fb4pF5E360.png)
![](https://file1.elecfans.com/web2/M00/C1/2C/wKgaomXUDPmAHThtAAtRNtnc1Ic295.png)
評論