• 注册 / 登录
  • 切换到窄版
  • 查看: 2558|回复: 0

    HC32L110 SWD模式切换方法

    [复制链接]

    676

    主题

    690

    帖子

    6808

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6808
    发表于 2024-2-2 11:01:31 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    在将小华HC32L110 SWD配置为普通引脚后,想要重新配置为SWD模式,按照网上的方法一直不成功。

    看了好几遍手册这方面相关的介绍,也没发现配置有什么问题,直到发现了下图这个介绍:

    640.png


    网上大部分的做法是配置为普通引脚,再配置回去,而我这边多了一步,就是配置为了普通输出引脚。

    参见上图,所以要想再配置回SWD,需要执行完模式切换后再配置为输入才行,这也算一个很隐性的坑,寄存器上根本没有体现这种情况,代码如下:

    1. Clk_SetFunc(ClkFuncSwdPinIOEn, TRUE); //配置SWD引脚为普通引脚模式
    2. //P31 P27是下载引脚复用
    3. Gpio_InitIOExt(SWCLK_PORT, SWCLK_PIN, GpioDirOut, TRUE, FALSE, TRUE, FALSE);
    4. Gpio_InitIOExt(SWDIO_PORT, SWDIO_PIN, GpioDirOut, TRUE, FALSE, TRUE, FALSE);
    5. Gpio_SetIO(SWCLK_PORT, SWCLK_PIN, TRUE);
    6. Gpio_SetIO(SWDIO_PORT, SWDIO_PIN, TRUE);


    7. Clk_SetFunc(ClkFuncSwdPinIOEn, FALSE); //配置SWD引脚为SWD引脚模式
    8. Gpio_InitIO(SWCLK_PORT, SWCLK_PIN, GpioDirIn);
    9. Gpio_InitIO(SWDIO_PORT, SWDIO_PIN, GpioDirIn);
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-12-22 13:02 , Processed in 0.046966 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表