
现象:如果使用了端口重映射功能,只要一运行到类似于__HAL_AFIO_REMAP_TIM4_ENABLE();这样的语句,就会推出调试状态,JTAGH或者SW的调试端口就被禁用了。原因:这个语句的写法有问题,修改AFIO->MAPR寄存器的时候,将调试端口关闭了。 解决方式:stm32f1xx_hao_gpio_ex.h中的语句。 原来的写法为:#define __HAL_AFIO_REMAP_TIM4_ENABLE() SET_BIT(AFIO->MAPR, AFIO_MAPR_TIM4_REMAP) 改为:#define __HAL_AFIO_REMAP_TIM4_ENABLE() SET_BIT(AFIO->MAPR, AFIO_MAPR_TIM4_REMAP|AFIO_MAPR_SWJ_CFG_JTAGDISABLE) 使用到哪一条重映射语句,就修改哪一条。 |
正好要用到管脚重映射,感谢分享。 |
还没用到这个,暂时没有发现这个问题,谢谢分享。 |
学习,留作备用~~![]() ![]() |
标记一下,备用 |
谢谢,去试试 |