您现在的位置: 主页 > MCU > 单片机应用 > STM32中EXTI(外部中断)和NVIC(嵌套向量中断)的关系 -
本文所属标签:
为本文创立个标签吧:

STM32中EXTI(外部中断)和NVIC(嵌套向量中断)的关系 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]NVIC是Cortex-M3核心的一部分,关于它的资料不在《STM32的技术参考手册》中,应查阅ARM公司的《Cortex-M3技术参考手册》Cortex-M3的向量中断统一由NVIC管理EXTI是ST公司在其STM32产品上扩展的外中断控制。它负责管理

NVIC是Cortex-M3核心的一部分,关于它的资料不在《STM32的技术参考手册》中,应查阅ARM公司的《Cortex-M3技术参考手册》
Cortex-M3的向量中断统一由NVIC管理
EXTI是ST公司在其STM32产品上扩展的外中断控制。它负责管理映射到GPIO引脚上的外中断和片内几个集成外设的中断(PVD,RTC alarm,USB wakeup,ethernet wakeup),以及软件中断。其输出最终被映射到NVIC的相应通道。因此,配置EXTI中断的过程必然包含对NVIC的配置,例如下面配置EXTI0的过程,就要首先配置EXTI控制器(使能相应的中断线,选择中断/事件模式,触发边沿极性),然后再配置NVIC控制器(EXTI0映射在NVIC上的通道号,中断优先级,中断屏蔽状态):

本文引用地址: http://www.21ic.com/app/mcu/201807/778993.htm


GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);


EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;// or Rising
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);


NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;// EXTI0_IRQn is defined in stm32f10x.h
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

EXTI0_IRQn的值,其实就是EXTI0中断向量在中断向量表中的位置(STM32技术参考手册中断向量表Position栏中的数值)




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > STM32中EXTI(外部中断)和NVIC(嵌套向量中断)的关系 -
 

"STM32中EXTI(外部中断)和NVIC(嵌套向量中断)的关系 -"的相关文章

网站地图

围观()