STM32
直播中

李雪

8年用户 1006经验值
私信 关注
[经验]

stm32cubeF1 1.3.1端口重映射被禁用的原因和解决方法

现象:如果使用了端口重映射功能,只要一运行到类似于__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)
使用到哪一条重映射语句,就修改哪一条。


更多回帖

发帖
×
20
完善资料,
赚取积分