开放来自线x上的中断请求*/ EXTI->IMR|=1<<8; //中断线8 /*3. 配置中断线触发边沿*/ EXTI->FTSR|=1<<8; //下降沿 /*4. 配置产生中断的对应IO口*/ SYSCFG->EXTICR[2]&=~(0xf<<0*4); SYSCFG->EXTICR[2]|=0x0<<0*4; /*5. 配置中断优先级*/ SetNVICPriorityGrouping(EXTI9_5_IRQn,1...
EXTI->IMR|=1<<8; //中断线8 /*3. 配置中断线触发边沿*/ EXTI->FTSR|=1<<8; //下降沿 /*4. 配置产生中断的对应IO口*/ SYSCFG->EXTICR[2]&=~(0xf<<0*4); SYSCFG->EXTICR[2]|=0x0<<0*4; /*5. 配置中断优先级*/ SetNVICPriorityGrouping(EXTI9_5_IRQn,1,1); /*6. 初始化定时器*...
①void SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex); //设置IO口与中断线的映射关系 exp: SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource2); //将PE2映射到2号中断线 ②void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct); //初始化中断线:触发方式等 ③...
Nvic_Value.NVIC_IRQChannel = EXTI9_5_IRQn;//选择中断号 Nvic_Value.NVIC_IRQChannelCmd = ENABLE;...
形参1是中断号,可以选择范围:IRQn_Type定义的枚举类型,定义在stm32f407xx.h。 形参2是抢占优先级,可以选择范围:0到15。 形参3是响应优先级,可以选择范围:0到15。 l函数返回值:无 3.HAL_NVIC_EnableIRQ函数 HAL_NVIC_EnableIRQ是中断使能函数。其声明如下: ...
中断线0-4每个中断线对应一个中断函数,中断线5-9共用中断函数EXTI9_5_IRQHandler,中断线10-15共用...
#define KeyRight_EXTI_IRQn EXTI9_5_IRQn #define LED1_Pin GPIO_PIN_6 #define LED1_GPIO_Port GPIOA (2)main.c /* USER CODE BEGIN 2 */ printf("Demo22_1_SleepMode:Test Sleep Mode.\r\n\r\n"); LED1_ON(); HAL_Delay(1000); //系统复位后,LED1 1秒后进入睡眠状态 ...
SYSCFG- >EXTICR[2]|=0x0< <0*4;/*5. 配置中断优先级*/SetNVICPriorityGrouping(EXTI9_5_IRQn,1,1);/*6. 初始化定时器*/RCC- >APB1ENR|=1< <0;//开启定时器2的时钟RCC- >APB1RSTR|=1< <0;//开启复位时钟RCC- >APB1RSTR&=~(1< <0);//关闭TIM2- >PSC=84;//预分频TIM2- >ARR...
5. 6. 7. 3、外中断代码实现如下: // GPIO外中断线类型 typedef enum _eExtiLineType { eEXTI0, eEXTI1, eEXTI2, eEXTI3, eEXTI4, eEXTI5, eEXTI6, eEXTI7, eEXTI8, eEXTI9, eEXTI10, eEXTI11, eEXTI12, eEXTI13, eEXTI14, ...
void EXTI15_10_IRQHandler(); 中断线 0-4 每个中断线对应一个中断函数,中断线 5-9 共用中断函数 EXTI9_5_IRQHandler,中 断线10-15 共用中断函数 EXTI15_10_IRQHandler。一般情况下,我们可以把中断控制逻辑直接 编写在中断服务函数中,但是 HAL 库把中断处理过程进行了简单封装,请看下面步骤 5 讲解。