1 外部IO口中断 2 外部中断配置函数 3 主要程序 (1)主函数 //外部中断4的中断服务函数voidEXTI4_IRQHandler(void){delay_ms(10);if(KEY0==0){//BEEP=!BEEP;LED0=!LED0;LED1=!LED1;}//清除中断标志位EXTI_ClearITPendingBit(EXTI_Line4);}//外部中断0的中断服务函数voidEXTI0_IRQHandler(void){delay_...
*函数名: EXTI4_IRQHandler *函数功能: 通道4中断函数 *输入: 无 *返回值: 无 ***/ void EXTI4_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line4) == 1) { if(GPIO_ReadInputDataBit(KEY_GPIO_Port,KEY0_Pin)==0) GPIO_SetBits(LED1_GPIO_Port, LED1_Pin); } EXTI_ClearITPendingBit(EXTI_Li...
三、实验内容 实验中按下按键0触发中断线4,抢占优先级2,子优先级为2,中断反应函数EXTI4_IRQHandler(),控制LED0和LED1的状态取反 1、初始化IO口为输入 KEY_Init(); 2、开启AFIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 3、设置IO口与中断线的映射关系 GPIO_EXTILineConfig(GPIO_PortSourc...
void EXTI3_IRQHandler(void) { if (EXTI_GetITStatus(EXTI_Line3) != RESET) { delay_ms(10); if (key_down_value == 0) { led_lightn(1); EXTI_ClearITPendingBit(EXTI_Line3); // 清除中断标志位 return; } } } /** * @brief 外部中断4中断服务函数 */ void EXTI4_IRQHandler(void) { i...
当中断来临时候,会进入上文中断向量表对应的void EXTI4_IRQHandler(void)函数,函数在stm32f1xx_it.c中 /*** @brief This function handles EXTI line4 interrupt.*/voidEXTI4_IRQHandler(void){/* USER CODE BEGIN EXTI4_IRQn 0 *//* USER CODE END EXTI4...
按键PC4对应外部中断入口,因为按键默认高电平,当有按键按下时,就会产生下降沿信号,触发中断,此时CPU就在中断向量表里查询外部中断的入口地址,如PC4对应的入口地址就是void EXTI4_IRQHandler(void) ,开始执行中断中内容,具体实现流程可参考SysTick章节。 /*** * function : EXTI4_IRQHandler * Description : 外部中...
EXTI3_IRQHandler EXTI4_IRQHandler EXTI9_5_IRQHandler EXTI15_10_IRQHandler 可以看出EXTI_Line0EXTI_Line4每个中断线对应一个中断函数,中断线EXTI_Line5EXTI_Line9共用中断函数 EXTI9_5_IRQHandler,EXTI_Line10~EXTI_Line15 共用中断函数 EXTI15_10_IRQHandler。
注意:如果我们配置的外部针脚为PA4,或PB4,或PC4,PD4等,那么采用的外部中断也必须是EXTI4,同样,如果外部中断针脚是PA1,PB1,PC1,PD1 那么中断就要用EXTI1,其他类推。 2配置GPIO针脚作为外部中断的触发事件 1、 选择IO针脚 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; ...
void EXTI4_IRQHandler(void)//外部中断4 { if(EXTI_GetITStatus(EXTI_Line4)!= RESET){//发生了中断 EXTI_ClearITPendingBit(EXTI_Line4);//清除中断标志位 if(Ledflag == 0){ Ledflag = 1;//LED标志取反 GPIOC->ODR |= 0X00000080;//GPIOC7输出高电平 } else{ Ledflag = 0; //...
EXTI0_IRQHandler EXTI1_IRQHandler EXTI2_IRQHandler EXTI3_IRQHandler EXTI4_IRQHandler EXTI9_5_IRQHandler EXTI15_10_IRQHandle 面0-4 个中断线都是独立的函数,中断线 5-9 共用一 个函数 EXTI9_5_IRQHandler,中断线 10-15 也共用一个函数 EXTI15_10_IRQHandler,所以要在编写对应中断服务函数时要注意 ...