如果大家在進(jìn)行GD32 MCU開發(fā)時(shí)發(fā)現(xiàn)GPIO引腳使用不足,可以嘗試將燒錄口配置為GPIO使用,這樣就可以多出幾個(gè)引腳使用,但使用的時(shí)候如何配置以及有哪些注意事項(xiàng),本視頻將會(huì)為大家進(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就不可以組合使用。

AFIO模式相較于REMAP的方式,使用更靈活,采用AFIO配置表進(jìn)行配置,只要這個(gè)引腳具有的功能都可以使用,如下圖GD32F3X0的AF表,根據(jù)表中的配置可以隨意使用。

掌握了以上兩種GPIO備用功能配置,我們就介紹下兩種備用功能下調(diào)試口如何作為GPIO使用:
1、remap重映射模式下
如下圖所示,可通過調(diào)整SWJ_CFG控制位進(jìn)行配置。

具體配置代碼如下圖所示
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í)候,需要大家特別注意,配置之后燒錄口就不可以作為燒錄功能了,除非將代碼擦除,會(huì)影響大家調(diào)試代碼,因而建議大家可以在配置燒錄口為GPIO之前預(yù)留幾秒鐘的時(shí)間窗口,這樣下次需要燒錄的時(shí)候可以復(fù)位后擦除或者燒錄,實(shí)際量產(chǎn)后如果不需要這個(gè)延遲,可以再將延遲去除。如果時(shí)間窗口非常小,一上電就禁用燒錄口了,大家可以嘗試進(jìn)入ISP Bootloader擦除后再燒錄。
以上即為本期講解,如有問題或建議,歡迎評論區(qū)討論。
-
單片機(jī)
+關(guān)注
關(guān)注
6078文章
45590瀏覽量
673939 -
mcu
+關(guān)注
關(guān)注
147文章
19160瀏覽量
404724 -
GPIO
+關(guān)注
關(guān)注
16文章
1334瀏覽量
56476 -
燒錄
+關(guān)注
關(guān)注
8文章
327瀏覽量
37202 -
GD32
+關(guān)注
關(guān)注
7文章
434瀏覽量
27654
發(fā)布評論請先 登錄
MIMXRT1170中斷問題,如何將gpio8_29定義為外部中斷?
兆易創(chuàng)新GD32 MCU如何續(xù)寫嵌入式創(chuàng)新之路
【MCU學(xué)習(xí)】GPIO詳解
兆易創(chuàng)新正式推出GD32 Embedded AI平臺
如何給Gokit3燒錄程序(MCU+FlyMcu版)
兆易創(chuàng)新GD32 MCU家族高性能產(chǎn)品再添新銳:GD32F503/505系列芯片實(shí)力亮相
gd32 env配置報(bào)錯(cuò)是什么原因呢?
GD32的串口DMA收發(fā)數(shù)據(jù)失敗怎么解決?
rt-thread studio中創(chuàng)建不了gd32項(xiàng)目是怎么回事?
使用rt-thread studio ,配置某對GPIO為串口,比如配置PA0與PA1 為uart1 ;如何操作?
如何將 GPIO PWM 和 GPIO Capture 驅(qū)動(dòng)程序?qū)?Linux 內(nèi)核,實(shí)現(xiàn) PWM 輸出并檢測引腳的變化狀態(tài)?
基于兆易創(chuàng)新GD32系列MCU的GUI智能屏顯解決方案
GD32 MCU如何將燒錄口配置為GPIO使用?
評論