如果大家在進行GD32 MCU開發(fā)時發(fā)現(xiàn)GPIO引腳使用不足,可以嘗試將燒錄口配置為GPIO使用,這樣就可以多出幾個引腳使用,但使用的時候如何配置以及有哪些注意事項,本視頻將會為大家進行解答。
GD32 MCU存在兩種GPIO備用功能的配置,一種是采用成組重映射REMAP的模式,比如GD32F10X/20x/30x/e10x/E50X等系列,一種是采用AFIO模式,比如GD32F1X0/3X0/4XX/E230等。
成組reamp重映射的模式需要將一組的GPIO進行重映射,如下圖GD32F30X IIC0的重映射配置,PB6和PB8需要組合使用,PB7和PB9需要組合使用,而PB6和PB9就不可以組合使用。
AFIO模式相較于REMAP的方式,使用更靈活,采用AFIO配置表進行配置,只要這個引腳具有的功能都可以使用,如下圖GD32F3X0的AF表,根據(jù)表中的配置可以隨意使用。
掌握了以上兩種GPIO備用功能配置,我們就介紹下兩種備用功能下調(diào)試口如何作為GPIO使用:
1、remap重映射模式下
如下圖所示,可通過調(diào)整SWJ_CFG控制位進行配置。
具體配置代碼如下圖所示
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
配置燒錄口對應的REMAP后,就可以正常配置GPIO了。
2、AFIO模式下
在AFIO模式下,將燒錄口對應的引腳配置為GPIO模式即可作為GPIO使用了。
在配置燒錄口作為GPIO使用的時候,需要大家特別注意,配置之后燒錄口就不可以作為燒錄功能了,除非將代碼擦除,會影響大家調(diào)試代碼,因而建議大家可以在配置燒錄口為GPIO之前預留幾秒鐘的時間窗口,這樣下次需要燒錄的時候可以復位后擦除或者燒錄,實際量產(chǎn)后如果不需要這個延遲,可以再將延遲去除。如果時間窗口非常小,一上電就禁用燒錄口了,大家可以嘗試進入ISP Bootloader擦除后再燒錄。
以上即為本期講解,如有問題或建議,歡迎評論區(qū)討論。
-
單片機
+關(guān)注
關(guān)注
6034文章
44552瀏覽量
634461 -
mcu
+關(guān)注
關(guān)注
146文章
17117瀏覽量
350933 -
GPIO
+關(guān)注
關(guān)注
16文章
1204瀏覽量
52047 -
燒錄
+關(guān)注
關(guān)注
8文章
259瀏覽量
35561 -
GD32
+關(guān)注
關(guān)注
7文章
403瀏覽量
24322
發(fā)布評論請先 登錄
相關(guān)推薦
評論