您的位置 首页 报告

STM32中EXTI(外部中止)和NVIC(嵌套向量中止)的联系

NVIC是Cortex-M3核心的一部分,关于它的资料不在《STM32的技术参考手册》中,应查阅ARM公司的《Cortex-M3技术参考手册》Cortex-M3的向量中

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上的通道号,中止优先级,中止屏蔽状况):

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栏中的数值)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/258935.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部