STM32中EXTI和NVIC的关系
(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的关系相关推荐
- STM32中EXTI,EXTI和NVIC的关系
关于EXTI 1.什么是EXTI? EXTI(External interrupt/event controller)-外部中断/事件控制器,管理了控制器的 20个中断/事件线.每个中断/事件线都对应 ...
- 深入浅出地理解STM32中的中断系统——从原理到简单工程示例——保姆级教程
深入浅出地理解STM32中的中断系统 一.什么是中断?什么是异常? 二.如何管理中断? 三.NVIC 1 NVIC 特点 2 中断优先级 (1) 优先级分组 3 中断向量表 4 中断服务函数 (1)中 ...
- STM32外部中断与(NVIC)中断优先级管理
文章目录 1.中断介绍 1.中断的概念 2.中断的产生 3.中断处理的流程 2.STM32内嵌向量中断控制器NVIC 1.NVIC控制器的寄存器 2.STM32中断配置 3.STM32外部中断EXIT ...
- STM32(五)——EXTI外部中断
文章笔记源于--江科大自化协的视频 一. 中断系统 中断 : 在主程序运行过程中,出现特定的中断触发条件,使得CPU暂停当前正在运行的程序,而去处理中断程序,完成后,又返回原来被暂停的位置继续工作 中 ...
- STM32之EXTI
STM32因为具有NVIC使其中断体系大大提升,NVIC使用来管理异常与中断的,并且NVIC模块中还包含SysTick. 这次我们来讲一下EXTI外部中断. 1.在用到时我们必须要设置中断向量表,我们 ...
- 深入浅出地理解STM32中的定时器工作原理
深入浅出地理解STM32中的定时器工作原理 一.如何实现延时 1 纯硬件电路 2 纯软件编程 3 可编程定时/计数器 二.可编程定时/计数器有哪些功能? 三.STM32F103 的定时器有哪些 1 基 ...
- STM32中断—EXTI外部中断
5. 中断 本文来自于<STM32--江科大>的笔记整理. 中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处 ...
- STM32中GPIO的8种工作模式
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.形象点解释:推挽,就是有推有拉,任何 ...
- STM32中GPIO的8种工作模式!
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定. 推挽电路是两个参数 ...
最新文章
- 手机号码格式验证和 FASTDFS 工具类
- 对话框Flags的设置值
- 金科院男生大学4年赚50万 毕业前又接500万订单
- Python教程:int数值类型的内置函数
- Delphi与SQL模糊查询(转载)
- 在神经网络中使用辍学:不是一个神奇的子弹
- WCF跨域 这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP...
- svn之check out没有下载so文件原因和解决办法
- 浅谈WebService开发二(同步与异步调用)转
- 服务器怎么查看c盘大文件在哪里,怎么快速查找系统中的大文件?
- vue flv.js实时播放监控视频 .flv 格式
- Qt实现无边框可以拖拽拉伸
- K8S——存储-Secret
- Flowable入门系列文章11 - Flowable API 01
- python calu_Python学习笔记4:函数
- 2022年乡村医生考试练习题及答案
- 2013,广电参与三网融合的十大猜想
- C++ QT结合FFmpeg实战开发视频播放器-08播放器项目的整体UI架构
- DWM1000 测距原理简单分析 之 SS-TWR
- 基于异构信息网络的元学习冷启动推荐
热门文章
- Python3中__init__.py文件介绍
- 深度学习中的验证集和超参数简介
- springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值
- android框架连接mysql_Android:ROOM数据库框架
- vue 引入的方法 用在template_?【有手就行】轻松打造属于自己的Vue工程化脚手架工具...
- python nginx部署_Python 应用 uWSGI + Nginx 部署
- python抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...
- mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能
- oracle表中怎么去重复,Oracle里去掉表里组合字段重复的记录步骤是什么呢?
- python traceback安装_Python错误:Traceback (most recent call last):感觉是软件出了问题