STM32教程:引脚重映射(基于STM32F103C8T6最小系统板标准库开发)*详细教程*

前言:

本文章主要介绍了STM32的引脚重映射。

导言:

STM32 的引脚重映射

STM32 的引脚重映射是一种允许外设功能(如 USART、SPI、I2C、定时器等)突破默认 GPIO 引脚分配,重新映射到其他指定引脚的功能。其核心作用是解决硬件设计中引脚资源冲突或布局限制问题,提升引脚使用灵活性。

该功能通过配置 AFIO(复用功能 IO)相关寄存器实现,支持 “部分重映射” 和 “完全重映射” 两种模式:前者保留部分默认引脚分配,后者则将外设功能完全映射到替代引脚上。重映射后,目标引脚的 GPIO 功能会被外设复用功能覆盖,需提前使能 AFIO 时钟并正确配置寄存器。


首先,STM32引脚重映射指复用引脚口,需要用到AFIO功能,所以先配置好AFIO

大体流程:

1、开启AFIO的RCC时钟

2、使用库函数,选择对应的库函数,引脚重映射配置

3、如果需要重映射的引脚已被默认复用,需要解除默认复用


详细步骤

1、开启AFIO的RCC时钟

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);  //开启AFIO时钟

2、使用库函数,GPIO_PinRemapConfig,引脚重映射配置

找到库函数

    void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);

参考手册的TIM2重映射介绍,我们把PA0映射到PA15,所以可以选择部分重映像功能

代码:

	GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2,ENABLE);  //重映射

3、如果需要重映射的引脚已被默认复用,需要解除默认复用

注意:我们把PA15映射到PA0,但是PA15引脚上电已经默认复用为调试端口

所以我们先关掉PA15的复用调试端口功能(千万不要把所有的调试端口关掉,不然程序就烧录不进去了)

	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);  //解除PA15的复用调试端口

这样子,我们就把TIM2的PA0引脚复用到PA15 


附录(源代码):

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);  //开启AFIO时钟
	GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2,ENABLE);  //重映射
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);  //解除PA15的复用调试端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值