RCC_APB2Periph_AFIO与RCC_APB2Periph_GPIO区别
时间: 2024-06-18 11:03:32 浏览: 125
RCC_APB2Periph_AFIO和RCC_APB2Periph_GPIO是STM32系列芯片中的两种不同的外设时钟控制寄存器。它们的区别如下:
RCC_APB2Periph_AFIO用于控制外部中断线路与GPIO的映射关系,例如更改按键的映射关系,以便在按下按键时正确触发中断。AFIO是Advanced Function IO的缩写,它可以配置某些特殊功能引脚的映射,如JTAG/SWD接口的选择。
RCC_APB2Periph_GPIO用于控制GPIO的时钟,使其能够工作。GPIO是通用输入输出端口,可以通过控制寄存器来配置引脚的输入输出模式,以及是否使能上拉或下拉电阻等。
因此,两者的作用不同,但都是与GPIO有关的外设时钟控制寄存器。
相关问题
void uart_init1(u32 bound){ //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); USART_DeInit(USART2); //复位串口 //USART1_TX PA.9 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA9 //USART1_RX PA.10 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA10解释代码
这段代码是初始化STM32的USART2串口,其中包含以下步骤:
1. 使能USART2和GPIOA的时钟,以及复用功能的时钟。
2. 将USART2重置为默认状态。
3. 配置PA.9引脚为复用推挽输出,速度为50MHz。
4. 配置PA.10引脚为浮空输入。
5. 初始化GPIOA的PA.9和PA.10引脚。
最终实现的功能是,将USART2的TX引脚连接到PA.9引脚,将USART2的RX引脚连接到PA.10引脚,以便进行串口通信。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO | 25RCC_APB2Periph_USART1,ENABLE);26 //配置GPIO27 GPIO_Initstructure.GPIO_Mode = GPIO_Mode_AF_PP;28 GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;29 GPIO_Initstructure.GPIO_Pin = GPIO_Pin_9;30 GPIO_Init(GPIOA,&GPIO_Initstructure);31 32 GPIO_Initstructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;33 GPIO_Initstructure.GPIO_Pin = GPIO_Pin_10;34 GPIO_Init(GPIOA,&GPIO_Initstructure);35
这部分代码实现了对GPIOA、AFIO和USART1时钟的使能和GPIOA的初始化配置。
第25行使用RCC_APB2PeriphClockCmd函数对GPIOA、AFIO和USART1的时钟进行使能。
第27-30行配置GPIOA的第9个引脚为复用推挽输出,速度为50MHz。
第32-34行配置GPIOA的第10个引脚为浮空输入。
这段代码的作用是为后续的USART串口通信做好GPIO引脚的初始化和配置。其中,GPIOA的第9个引脚是USART1的发送引脚(Tx),GPIOA的第10个引脚是USART1的接收引脚(Rx)。
阅读全文
相关推荐
















