wuzhibang 发表于 2016-4-2 09:55:09

stm32cubeF1 1.3.1 的端口重映射BUG和解决方法

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

any012 发表于 2016-11-2 16:45:34

正好要用到管脚重映射,感谢分享。

小鹏 发表于 2016-11-2 21:54:19

还没用到这个,暂时没有发现这个问题,谢谢分享。

xnmc2013 发表于 2016-11-2 22:28:17

学习,留作备用~~


peter001 发表于 2016-11-3 00:08:49

标记一下,备用

moon-362134 发表于 2017-2-22 20:34:10

谢谢,去试试
页: [1]
查看完整版本: stm32cubeF1 1.3.1 的端口重映射BUG和解决方法