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);
- }
|