如果大家在進(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擦除后再燒錄。
以上即為本期講解,如有問題或建議,歡迎評(píng)論區(qū)討論。
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631975 -
mcu
+關(guān)注
關(guān)注
146文章
16885瀏覽量
349916 -
GPIO
+關(guān)注
關(guān)注
16文章
1188瀏覽量
51832 -
燒錄
+關(guān)注
關(guān)注
8文章
252瀏覽量
35495 -
GD32
+關(guān)注
關(guān)注
7文章
403瀏覽量
24107
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論