改变引脚功能的方法
端口复用
STM32 有很多的内置外设(比如:串口、ADC、DAC等是独立的模块和内核连接在一起),把这些外设映射到GPIO引脚,叫做复用。
复用功能下和GPIO 的模式的对应可以查看 **《STM32中文数据手册》——通用/复用功IO——8.1.11表格。**在原理图中找到引脚后,可用于查看相应的外设功能配置。
端口重映射
每个内置外设都有若干个输入输出引脚,一般这些引脚的输出端口都是固定不变的,把一些复用功能重新映射到其他一些引脚上叫做重映射。重映射会改变引脚的物理位置。改变引脚的物理位置可能会影响其他引脚的映射关系和功能。(部分映射和全部映射)
具体对应关系《STM32 中文参考手册 V10》的 P116 页“8.3 复用功能和调试配置”
部分重映射就是 PA6,PA7 重映射到 PB4,PB5 上。而 PB0 和 PB1 和没有重映射情况是一样的,是 TIM3_CH3 和TIM3_CH4对应管脚。
完全重映射就是将右侧PC6-9全部映射成复用功能。
端口复用配置
1.使能GPIO时钟 和 外设时钟
2.初始化GPIO和复用外设功能
端口重映射配置
1.使能GPIO时钟、外设时钟、AFIO时钟
2.初始化GPIO和复用外设功能
3.GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE); //开启重映射
什么时候开启AFIO
在对以下寄存器进行读写操作前,应首先打开AFIO时钟
AFIO_MAPR:配置复用功能重映射
AFIO_EXTICRX:配置外设中断线映射
AFIO_EVCR:配置EVENTOUT事件输出