首先在STM32F103C8T6引脚定义的图里找到是否有可以复用的引脚,因为我们的TIM2_CH1_ETR的数据是在引脚PA0上显示,如果要换,根据此表只能换到PA15
![](https://img-blog.csdnimg.cn/a0e4bff31c714373982de8ffa12c3c22.png)
如图PA15 默认 是调试端口所以如果要想让其作为普通IO口或者复用定时器通道需要先关闭调试端口的复用。最后再改初始化GPIO口
接着我们来看具体代码,如果重映射引脚不是调试端口就不用最后一句
/*************AFIO重映射***********/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig( GPIO_PartialRemap1_TIM2, ENABLE);
GPIO_PinRemapConfig( GPIO_Remap_SWJ_JTAGDisable, ENABLE);
因为举例子的是PA15其原本是JDTI调试端口,故第三行参数GPIO_Remap_SWJ_JTAGDisable。如果为其他可以参考下文
需要使用的相关函数
@arg GPIO_Remap_SWJ_NoJTRST : Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST
* @arg GPIO_Remap_SWJ_JTAGDisable : JTAG-DP Disabled and SW-DP Enabled
* @arg GPIO_Remap_SWJ_Disable : Full SWJ Disabled (JTAG-DP + SW-DP)
* @arg GPIO_Remap_SPI3 : SPI3/I2S3 Alternate Function mapping (only for Connectivity line devices)
具体可以参考这个调试端口映像TIM2复用功能重映像
![](https://img-blog.csdnimg.cn/7c81d96ef4a645199723db1d77bb2294.png)
![](https://img-blog.csdnimg.cn/76e3d582c3a94ec6b4e30aa1e96c7dbc.png)
谢谢大家支持
stm32学习笔记 AFIO重映射功能 以TIM2的CH1可以从PA0挪动到PA15的引脚上距离
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)
csdn文章推荐受影响解决办法10个字10行(防止文章不合格)