你的理解相当正确,这个就是中断使能位。你可以在头文件里面看见ENABLE和DISABLE分别都是有define的
首先使用NVIC_IRQChannel参数来选择将要配置的中断向量,用NVIC_IRQChannelCmd参数来进行使能(ENABLE)和关闭...
(4)NVIC_IRQChannelCmd:中断使能(ENABLE)或者失能(DISABLE)。操作的是NVIC_ISER和NVIC_ICER这两个寄存器。 1staticvoidNVIC_Configuration(void)2{3NVIC_InitTypeDefNVIC_InitStructure;4NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);/*配置 NVIC 为优先级组 1*/5NVIC_InitStructure.NVIC_IRQChannel = KEY1_INT_EXTI...
NVIC_InitStructure.NVIC_IRQChannelSubPriority =___; //设置从优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);相关知识点: 试题来源: 解析 ( 1 ); / / 设置先占优先级 ( 2 ) 反馈 收藏
/* 设置抢先优占级*/ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; /*设置相应优先级*/ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; /* 使能这一中断 */ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* 完成以上中断的初始化功能*/ NVIC_Init(&NVIC_InitStructure); /* 2设置中断...
NVIC_IRQChannelPreemptionPriority:定义这个中断的抢占优先级别。 NVIC_IRQChannelSubPriority:定义这个中断的响应优先级别。 NVIC_IRQChannelCmd:该中断通道是否使能。 比如我们要使能串口 1 的中断,同时设置抢占优先级为 1,响应优先级位 2,初始化的方法是:
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//串口 1 中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;// 抢占优先级为 1 NVIC_InitStructure.NVIC_IRQChannelSubPriority= 2;// 子优先级位 2 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道使能 ...
FunctionalState NVIC_IRQChannelCmd; }NVIC_InitTypeDef; ---***--- NVIC_IRQChannel用以使能或者失能指定的IRQ通道,可取值有: WWDG_IRQn 窗口看门狗中断 PVD_IRQn PVD通过EXTI探测中断 TAMPER_IRQn 篡改中断 RTC_IRQn RTC全局中断 Flashf_IRQn FLASH全局中断 RCC_IRQn...
NVICInitStruct.NVIC_IRQChannelSubPriority= 0;//子优先级数值配置为0 NVICInitStruct.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVICInitStruct); ③中断响应函数 通过weak方法进行同名的覆盖 void USART1_IRQHandler()//中断函数 { 函数执行体; } 最终完整的代码如下: ...
NVIC_EXTI_LINE0_InitStruct.NVIC_IRQChannelCmd=ENABLE;//使能 //优先级 数值越小 优先级越高 //先判断强占优先级优先级,若该优先级相同,则判断子优先级,若子优先级也相同,就是看STM的硬件优先级的,可在STM32F10X.H查看 NVIC_EXTI_LINE0_InitStruct.NVIC_IRQChannelPreemptionPriority=2;//强占优先级 ...