RCC_APB2Periph_AFIO与RCC_APB2Periph_GPIO区别
时间: 2024-06-18 20:03:32 浏览: 89
RCC_APB2Periph_AFIO和RCC_APB2Periph_GPIO是STM32系列芯片中的两种不同的外设时钟控制寄存器。它们的区别如下:
RCC_APB2Periph_AFIO用于控制外部中断线路与GPIO的映射关系,例如更改按键的映射关系,以便在按下按键时正确触发中断。AFIO是Advanced Function IO的缩写,它可以配置某些特殊功能引脚的映射,如JTAG/SWD接口的选择。
RCC_APB2Periph_GPIO用于控制GPIO的时钟,使其能够工作。GPIO是通用输入输出端口,可以通过控制寄存器来配置引脚的输入输出模式,以及是否使能上拉或下拉电阻等。
因此,两者的作用不同,但都是与GPIO有关的外设时钟控制寄存器。
相关问题
#define KEY1 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) #define KEY2 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)void KEY_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); }解读
这段代码定义了两个宏KEY1和KEY2,分别表示GPIOB的8号和9号引脚的输入状态。然后定义了一个函数KEY_Init,用于初始化GPIOB的8号和9号引脚为上拉输入模式。具体实现过程是:首先使能GPIOB和AFIO的时钟,然后禁用JTAG接口以释放这两个引脚的控制权,接着配置GPIOB的8号和9号引脚为上拉输入模式。
rcc_apb2periph_afio作用
rcc_apb2periph_afio是一个寄存器,用于控制AFIO(Alternate Function I/O)模块的时钟使能和复位。AFIO模块是STM32系列芯片中的一个重要模块,它可以实现GPIO引脚的多种功能,如中断、定时器、SPI、I2C等。rcc_apb2periph_afio的作用就是控制AFIO模块的运行状态,确保其正常工作。
阅读全文
相关推荐

















