國(guó)產(chǎn)低功耗華大單片機(jī)HC32L110HC32F003HC32F005特殊端口應(yīng)用注意事項(xiàng)之SWD調(diào)試編程端口復(fù)用為I/O功能
GPIO是通用輸入輸出模塊,MCU可將一個(gè) IO設(shè)為模擬模式,作為 ADC輸入;設(shè)為數(shù)字輸入輸出,或是外設(shè)端口,供特定外設(shè)使用。使用端口功能前,需要先把 GPIO模塊時(shí)鐘控制功能打開(kāi)。
本系列 GPIO的可復(fù)用的特殊端口有 RESET、外部晶振引腳、SWD、UART 編程接口等,用戶(hù)在不同的應(yīng)用當(dāng)中需要根據(jù)這些端口的特性及應(yīng)用特點(diǎn)選擇不同的復(fù)用方式。
SWD調(diào)試編程端口復(fù)用為 I/O功能
SWD端口作為該系列 MCU的調(diào)試和下載端口,用戶(hù)可根據(jù)實(shí)際需求選擇是否預(yù)留該端口作為調(diào)試或量產(chǎn)編程使用。如果不需要使用 SWD端口作為調(diào)試編程,SWCLK 與 SWDIO引腳可以復(fù)用為 I/O引腳。
復(fù)用 I/O功能參考流程如下:
1. GPIO模塊時(shí)鐘控制功能打開(kāi):PERI_CLKEN.GPIO置為 1
2.向系統(tǒng)控制寄存器 SYSCTRL2依次寫(xiě)入 0x5A5A、0xA5A5,使能寄存器改寫(xiě)
3. 系統(tǒng)控制寄存器的 SWD_USE_IO時(shí)鐘控制位(SYSCTRL1. SWD_UIO)使能
4. P27_SEL.SEL與 P31_SEL.SEL設(shè)置為 0
5. P2DIR.P27與 P3DIR.P31 設(shè)置為輸入或輸出
注意:
- 從上電到 SWD被復(fù)用配置為 I/O端口生效為止,P27和 P31引腳的電平默認(rèn)為高電平,因此在外圍電路的設(shè)計(jì)中,應(yīng)加以注意和規(guī)避。
- 當(dāng)把 SWD端口復(fù)用為 I/O功能時(shí),通過(guò) SWD的在線(xiàn)調(diào)試與下載功能就會(huì)失效。
- 在用戶(hù)調(diào)試時(shí),可以通過(guò)串口擦除或下載其他沒(méi)有復(fù)用 SWD的程序恢復(fù) SWD在線(xiàn)調(diào)試和下載功能,或者在應(yīng)用程序中復(fù)用 SWD端口之前添加幾秒的延時(shí)。
編輯:admin 最后修改時(shí)間:2020-06-09