一 端口复用
STM32有很多内置资源,但是其IO口的数量是固定的,普通IO口在充当GPIO口的同时,还需要成为内置资源的外设引脚,那么如何才能物尽其用呢?于是STM32给出了解决方案:“端口复用”,什么是端口复用呢?当GPIO作为外设引脚使用时即为端口复用。
MCU都有串口功能,根据《STM32中文参考手册》查询得到USART1_TX引脚复用对应PIN口为PA9,USART1_RX引脚复用对应PIN口为PA10,原本PA9与PA10引脚都为普通IO口使用,而我们现在将其使用为串口IO来使用,这个过程就是端口复用。
端口复用有几大步骤:
- 使能GPIO端口时钟,RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
- 复用外设时钟使能,RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);使用哪一个外设就使能哪一个外设。
- 端口模式配置,使用外设,就必须对外设IO口进行配置,具体如何配置请查询《STM32中文参考手册》,我们将USART配置全部配置为全双工模式,然后USART1_TX配置为推挽复用输出,USART1_RX配置为浮空输入或带上拉输入。
代码展示: