STM32F1端口复用与重映射(学习心得)

端口的复用(*)

以USART1为例
PA9管脚的复用功能为 USART1_TX(串口发送端)
PA10管脚的复用功能为USART1_RX(串口接收端)

对端口复用的配置

  1. GPIO端口的时钟使能。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  1. 复用外设的时钟使能。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
  1. 端口模式的配置。

使用GPIO_Init()函数。
其中对GPIO的模式的参数设置为
STM32F1端口复用与重映射(学习心得)_第1张图片
(表格来自STM32中文参考手册)

GPIO其他参数设置具体操作见STM32 GPIO的操作(使用固件库)

端口重映射

一个引脚除了默认的端口外,还可以通过设置重映射,把这个引脚映射到其他端口

重映射的配置过程,以USART1为例

  1. 使能重映射的GPIO时钟(重映射的口,ps 串口1的映射为PB6,PB7)
    注:注意是全映射还是部分映射。
  2. 使能外设的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
  3. 使能AFIO时钟。(重映射必须使能)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  4. 开启重映射
    RCC_APB2PeriphClockCmd(RCC_Remap_AFIO,ENABLE);

本文参考《STM32中文参考手册》

你可能感兴趣的:(STM32,端口复用,重映射)