刚才学习中断函数
查看库函数对中断的初始化,除了将结构体参数写入寄存器外,还在函数第一步将IMR与EMR的标志位置0,屏蔽线上中断
if (EXTI_InitStruct->EXTI_LineCmd != DISABLE)
{
/* Clear EXTI line configuration */
EXTI->IMR &= ~EXTI_InitStruct->EXTI_Line;
EXTI->EMR &= ~EXTI_InitStruct->EXTI_Line;
但是后来我查看库函数,并没有再次将这两位置1,既然屏蔽了那么中断怎么响应呢??求解
//....
tmp += EXTI_InitStruct->EXTI_Mode;
*(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line;
这三句话不就是配置中断/或者事件寄存器吗
一周热门 更多>