| 
 | 
 
路线栈欢迎您!
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
x
 
在将小华HC32L110 SWD配置为普通引脚后,想要重新配置为SWD模式,按照网上的方法一直不成功。 
 
看了好几遍手册这方面相关的介绍,也没发现配置有什么问题,直到发现了下图这个介绍: 
 
 
 
网上大部分的做法是配置为普通引脚,再配置回去,而我这边多了一步,就是配置为了普通输出引脚。 
 
参见上图,所以要想再配置回SWD,需要执行完模式切换后再配置为输入才行,这也算一个很隐性的坑,寄存器上根本没有体现这种情况,代码如下: 
 
- Clk_SetFunc(ClkFuncSwdPinIOEn, TRUE); //配置SWD引脚为普通引脚模式
 
 -  //P31 P27是下载引脚复用
 
 - Gpio_InitIOExt(SWCLK_PORT, SWCLK_PIN, GpioDirOut, TRUE, FALSE, TRUE, FALSE);
 
 - Gpio_InitIOExt(SWDIO_PORT, SWDIO_PIN, GpioDirOut, TRUE, FALSE, TRUE, FALSE);
 
 - Gpio_SetIO(SWCLK_PORT, SWCLK_PIN, TRUE);
 
 - Gpio_SetIO(SWDIO_PORT, SWDIO_PIN, TRUE);
 
  
 
- Clk_SetFunc(ClkFuncSwdPinIOEn, FALSE); //配置SWD引脚为SWD引脚模式
 
 - Gpio_InitIO(SWCLK_PORT, SWCLK_PIN, GpioDirIn);
 
 - Gpio_InitIO(SWDIO_PORT, SWDIO_PIN, GpioDirIn);
 
  复制代码 |   
 
 
 
 |