打印
[CW32F030系列]

CW32F030CxTx--swd_io复用

[复制链接]
331|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
51xlf|  楼主 | 2022-8-26 13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用库函数把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烧录了。哈哈哈

使用特权

评论回复
沙发
51xlf|  楼主 | 2022-8-26 13:43 | 只看该作者
官网提供测试代码
    //复位后延时2秒再将SWD接口变成GPIO,防止芯片被锁死
    InitTick(8000000); //SYSTICK 的工作频率为8MHz,每ms中断一次
    SysTickDelay(2000);

使用特权

评论回复
板凳
Bowclad| | 2022-9-5 21:53 | 只看该作者
,,,,没看到下面帖子去试了一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

534

主题

9526

帖子

23

粉丝