PA0的外部中断的初始化
void EXTI_PA0_Config(void)
{
GPIO_InitPara GPIO_InitStructure;//定义GPIO的配置选项,
EXTI_InitPara EXTI_InitStructure;//定义EXTI的配置选项
/* 使能GPIOA和AFIO的时钟 */
RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOA |RCC_APB2PERIPH_AF, ENABLE);
/* 配置向量中断寄存器,中断的优先级 */
NVIC_Configuration();
/* 进行外部中断的占用IO的配置*/
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0;//设置P0口,实际为PA0
GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IN_FLOATING;//由于按键IO已经硬件上拉,所以设置IO为浮空
GPIO_Init(GPIOA, &GPIO_InitStructure);
// /* 外部中断总线的模式设置 */
GPIO_EXTILineConfig(GPIO_PORT_SOURCE_GPIOA, GPIO_PINSOURCE0);//选择要设置为 EXTI线的端口及引脚,配置为PA0
EXTI_InitStructure.EXTI_LINE = EXTI_LINE0;//配置为线0,因为PA0连接带了线0,总共为线0-15
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//配置为外部中断模式,分为中断模式和事件模式
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LINEEnable = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}
|