使用库函数把SWD下载端口PA13 PA14 分别复用为UART0_RXD UART0_TXD的方法
SWD一般用于MCU的调试,用户使用Keil MDK或IAR等开发工具时,可使用该调试接口进行开发调试。本系列的芯片在上电时被自动配置为SWD调试端口,端口配置为上拉输入。
在某些对IO资源比较敏感的应用场合,往往希望能够大限度利用可用的IO资源,并且在实际的应用场景,SWD是不被使用的,此时就可以将SWD的SWDCLK和SWDIO两个端口复用为GPIO功能。
3.1 SWD端口复用为GPIO功能
SWCLK(PA14)与SWDIO(PA13)引脚可以复用为GPIO。
官网提供的代码如下所示
//Open GPIOA Clk
CW_SYSCTRL->AHBEN_f.GPIOA = 1;
//将PA13 / PA14 配置成通用GPIO功能
GPIO_SWD2GPIO();
//配置 PA13 / PA14 为数字功能 - 输出
REGBITS_CLR(CW_GPIOA->ANALOG, bv13 | bv14);
REGBITS_CLR(CW_GPIOA->DIR, bv13 | bv14);
tmp32 = GetTick() + 10000;
while (GetTick() < tmp32) //在10秒内为GPIO功能
{
PA13_SETHIGH();
PA14_SETHIGH();
PA14_SETLOW();
PA13_SETLOW();
PA14_SETHIGH();
PA14_SETLOW();
}
但是不建议这样操作,因为你会发现不能使用keil烧录了。哈哈哈
|