版权声明:本文为博主原创**,未经博主允许不得转载。 https://blog.csdn.net/lvk/article/details/84191846
GPIO是通用输入输出模块,MCU可将一个 IO设为模拟模式,作为 ADC输入;设为数字输入输出,或是外设端口,供特定外设使用。使用端口功能前,需要先把 GPIO模块时钟控制功能打开。
本系列 GPIO的可复用的特殊端口有 RESET、外部晶振引脚、SWD、UART 编程接口等,用户在不同的应用当中需要根据这些端口的特性及应用特点选择不同的复用方式。
SWD调试编程端口复用为 I/O功能
SWD端口作为该系列 MCU的调试和下载端口,用户可根据实际需求选择是否预留该端口作为调试或量产编程使用。如果不需要使用 SWD端口作为调试编程,SWCLK 与 SWDIO引脚可以复用为 I/O引脚。
复用 I/O功能参考流程如下:
1. GPIO模块时钟控制功能打开:PERI_CLKEN.GPIO置为 1
2.向系统控制寄存器 SYSCTRL2依次写入 0x5A5A、0xA5A5,使能寄存器改写
3. 系统控制寄存器的 SWD_USE_IO时钟控制位(SYSCTRL1. SWD_UIO)使能
4. P27_SEL.SEL与 P31_SEL.SEL设置为 0
5. P2DIR.P27与 P3DIR.P31 设置为输入或输出
注意:
- 从上电到 SWD被复用配置为 I/O端口生效为止,P27和 P31引脚的电平默认为高电平,因此在外围电路的设计中,应加以注意和规避。
- 当把 SWD端口复用为 I/O功能时,通过 SWD的在线调试与下载功能就会失效。
- 在用户调试时,可以通过串口擦除或下载其他没有复用 SWD的程序恢复 SWD在线调试和下载功能,或者在应用程序中复用 SWD端口之前添加几秒的延时。
|