(1)NVIC(嵌套向量中断):NVIC是Cortex-M3核心的一部分,关于它的资料不在《STM32的技术参考手册》中,应查阅ARM公司的《Cortex-M3技术参考手册》Cortex-M3的向量中断统一由NVIC管理。

(2)EXTI(外部中断):EXTI是ST公司在其STM32产品上扩展的外中断控制。它负责管理映射到GPIO引脚上的外中断和片内几个集成外设的中断(PVD,RTC alarm,USB wakeup,ethernet wakeup),以及软件中断。其输出最终被映射到NVIC的相应通道。因此,配置EXTI中断的过程必然包含对NVIC的配置,例如下面配置EXTI0的过程,就要首先配置EXTI控制器(使能相应的中断线,选择中断/事件模式,触发边沿极性),然后再配置NVIC控制器(EXTI0映射在NVIC上的通道号,中断优先级,中断屏蔽状态)。

 1 /* Connect EXTI Line 0 to GPIO Pin PB0 */
 2
 3 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);
 4
 5
 6
 7 /* Configure EXTI line 0 */
 8
 9 EXTI_InitStructure.EXTI_Line = EXTI_Line0;
10
11 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
12
13 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; // or Rising
14
15 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
16
17 EXTI_Init(&EXTI_InitStructure);
18
19 /* Enable this interrupt on corresponding NVIC channel */
20
21 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; // EXTI0_IRQn is defined in stm32f10x.h
22
23 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
24
25 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
26
27 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
28
29 NVIC_Init(&NVIC_InitStructure);

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

转载于:https://www.cnblogs.com/lixuejian/p/10559413.html

STM32中EXTI和NVIC的关系相关推荐

  1. STM32中EXTI,EXTI和NVIC的关系

    关于EXTI 1.什么是EXTI? EXTI(External interrupt/event controller)-外部中断/事件控制器,管理了控制器的 20个中断/事件线.每个中断/事件线都对应 ...

  2. 深入浅出地理解STM32中的中断系统——从原理到简单工程示例——保姆级教程

    深入浅出地理解STM32中的中断系统 一.什么是中断?什么是异常? 二.如何管理中断? 三.NVIC 1 NVIC 特点 2 中断优先级 (1) 优先级分组 3 中断向量表 4 中断服务函数 (1)中 ...

  3. STM32外部中断与(NVIC)中断优先级管理

    文章目录 1.中断介绍 1.中断的概念 2.中断的产生 3.中断处理的流程 2.STM32内嵌向量中断控制器NVIC 1.NVIC控制器的寄存器 2.STM32中断配置 3.STM32外部中断EXIT ...

  4. STM32(五)——EXTI外部中断

    文章笔记源于--江科大自化协的视频 一. 中断系统 中断 : 在主程序运行过程中,出现特定的中断触发条件,使得CPU暂停当前正在运行的程序,而去处理中断程序,完成后,又返回原来被暂停的位置继续工作 中 ...

  5. STM32之EXTI

    STM32因为具有NVIC使其中断体系大大提升,NVIC使用来管理异常与中断的,并且NVIC模块中还包含SysTick. 这次我们来讲一下EXTI外部中断. 1.在用到时我们必须要设置中断向量表,我们 ...

  6. 深入浅出地理解STM32中的定时器工作原理

    深入浅出地理解STM32中的定时器工作原理 一.如何实现延时 1 纯硬件电路 2 纯软件编程 3 可编程定时/计数器 二.可编程定时/计数器有哪些功能? 三.STM32F103 的定时器有哪些 1 基 ...

  7. STM32中断—EXTI外部中断

    5. 中断 本文来自于<STM32--江科大>的笔记整理. 中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处 ...

  8. STM32中GPIO的8种工作模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.形象点解释:推挽,就是有推有拉,任何 ...

  9. STM32中GPIO的8种工作模式!

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数 ...

最新文章

  1. 手机号码格式验证和 FASTDFS 工具类
  2. 对话框Flags的设置值
  3. 金科院男生大学4年赚50万 毕业前又接500万订单
  4. Python教程:int数值类型的内置函数
  5. Delphi与SQL模糊查询(转载)
  6. 在神经网络中使用辍学:不是一个神奇的子弹
  7. WCF跨域 这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP...
  8. svn之check out没有下载so文件原因和解决办法
  9. 浅谈WebService开发二(同步与异步调用)转
  10. 服务器怎么查看c盘大文件在哪里,怎么快速查找系统中的大文件?
  11. vue flv.js实时播放监控视频 .flv 格式
  12. Qt实现无边框可以拖拽拉伸
  13. K8S——存储-Secret
  14. Flowable入门系列文章11 - Flowable API 01
  15. python calu_Python学习笔记4:函数
  16. 2022年乡村医生考试练习题及答案
  17. 2013,广电参与三网融合的十大猜想
  18. C++ QT结合FFmpeg实战开发视频播放器-08播放器项目的整体UI架构
  19. DWM1000 测距原理简单分析 之 SS-TWR
  20. 基于异构信息网络的元学习冷启动推荐

热门文章

  1. Python3中__init__.py文件介绍
  2. 深度学习中的验证集和超参数简介
  3. springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值
  4. android框架连接mysql_Android:ROOM数据库框架
  5. vue 引入的方法 用在template_?【有手就行】轻松打造属于自己的Vue工程化脚手架工具...
  6. python nginx部署_Python 应用 uWSGI + Nginx 部署
  7. python抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...
  8. mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能
  9. oracle表中怎么去重复,Oracle里去掉表里组合字段重复的记录步骤是什么呢?
  10. python traceback安装_Python错误:Traceback (most recent call last):感觉是软件出了问题