什么是AFIO,什么是引脚复用?
gpio的复用输出AF_PP和AFIO(RCC/RCU)没有关系,是互相独立的,配置gpio为复用输出模式并不需要使能RCU_AF。
引脚的复用指的是默认情况下USART1的引脚就是PA9、PA10。只要使能USART1、GPIOA、并配置好PA9、PA10、USART1的RX、TX就可以正常使用USART1了。但是原理图上不会画出,而数据手册上会给出的是:USART1的TX/RX是可以重定义到PB6、PB7上的。
PA9对应的外设分别是USART1_TX/TIM1_CH2,PA10对应的外设分别是USART1_RX/TIM1_CH3,当时想要同时用到USART1_TX和TIM1_CH2时,就需要用到了REMAP,也就是重映射。
这时可以将USART1的RX、TX重映射到PB6、PB7上,同样的,这时候PB6、7对应的默认外设就不可用了,分别是I2C、FSMC、TIM,都不能用。
这时需要RCC enable AFIO并GPIORemapConfig();