STM32单片机学习总结之中断EXTI (External interrupt)

发布者:芳华逝水最新更新时间:2022-10-25 来源: csdn关键字:STM32  单片机 手机看文章 扫描二维码
随时随地手机看文章

学习内容:

EXTI (External interrupt) 就是指外部中断,通过GPIO 检测输入脉冲,引起中断事件,打断原来的代码执行流程,进入到中断服务函数中进行处理,处理完后,再返回到中断之前的代码中执行。


1、能够打断当前代码执行流程的事件分为异常(exception)和中断(interrupt),并把它们用一个表管理起来,编号为0~15 的称为内核异常,而16 以上的则称为外部中断(外,相对内核而言),这个表就称为中断向量表。把编号从-3 至6 的中断向量定义为系统异常,编号为负 的内核异常不能被设置优先级,如复位(Reset)、不可屏蔽中断 (NMI)、硬错误(Hardfault)。从编号7 开始的为外部中断,这些中断的优先级都是可以自行设置的。


2、中断控制器NVIC (Nested Vectored Interrupt Controller)。

不可屏蔽中断 (NMI)和外部中断都由它来处理

对NVIC 初始化,要定义并填充一个NVIC_InitTypeDef 类型的结构体。

在这里插入图片描述

3、STM32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,

其属性编号越小,表明它的优先级别越高。


抢占,是指打断其它中断的属性,即因为具有这个属性,会出现嵌套中断

(在执行中断服务函数A 的过程中被中断B 打断,执行完中断服务函数B 再继续

执行中断服务函数A),抢占属性由NVIC_IRQChannelPreemptionPriority 的参

数配置。


而响应属性则应用在抢占属性相同的情况下,当两个中断向量的抢占优先

级相同时,如果两个中断同时到达,则先处理响应优先级高的中断,响应属性

由NVIC_IRQChannelSubPriority 的参数配置。看例子如下:

在这里插入图片描述

4、在配置优先级的时候,中断种类的数量。NVIC 只可以配置16 种 中断向量的优先级,也就是说,抢占优先级和响应优先级的数量由一个4 位的数字来决定,把这个4 位数字的位数 分配成抢占优先级部分和响应优先级部分。有5 组分配方式:

在这里插入图片描述

要配置这些优先级组,可以采用库函数NVIC_PriorityGroupConfig(),可输入的参数为NVIC_PriorityGroup_0 ~ NVIC_PriorityGroup_4,分别为以上介绍的5 种分配组。


5、所有GPIO 都能够配置成外部中断,USART、ADC 等外设也有中断。

注意NVIC 能配置的是16种中断向量,而不是16个,当工程之中有超过16 个中断向量时,必然有2个以上的中断向量是使用相同的中断种类,而具有相同中断种类的中断向量不能互相嵌套。


6、STM2 单片机的所有I/O 端口都可以配置为EXTI中断模式,用来捕捉外部

信号,可以配置为下降沿中断,上升沿中断和上升下降沿中断这三种模式。它

们以下图的方式连接到16 个外部中断/事件线上


7、STM32 的所有GPIO 都引入到EXTI 外部中断线上,使得所有的GPIO 都能作为外部中断的输入源。

在这里插入图片描述

在这里插入图片描述

9、注意的是:PAx~PGx端口的中断事件都连接到了EXTIx,即同一时刻EXTx 只能相应一个端口的事件触发,不能够同一时间响应所有GPIO 端口的事件,但可以分时复用。


AFIO (alternate-function I/O),指GPIO 端口的复用功能。


当把GPIO 用作EXTI 外部中断 或使用重映射功能的时候,必须开启AFIO

时钟,而在使用默认复用功能的时候,就不必开启AFIO 时钟了。


学习总结:

当我们要读取某外设的状态时,可调用该外设的XXX_GetFlagStatus()函数来获取该状态。一般也有XXX_ClearFlag()库函数可供调用,进行相应的标志位清除。

关键字:STM32  单片机 引用地址:STM32单片机学习总结之中断EXTI (External interrupt)

上一篇:STM32中位带操作
下一篇:STM32学习总结之------串口通信USART

推荐阅读最新更新时间:2024-11-12 15:28

正点原子STM32 LCD-TFT FSMC原理简介(13)
MIN版沒有FSMC FSMC只有F249以上版本 才支持SROM 初始化序列是 由lcd 厂家提供的 左边为画点 右边为读点 0xF800代表纯红色 这些指令都可以在ili9341的数据手册里找到 第一次读出来的数据是无效的 ------------------------------------LCD-FSMC原理----------------------------------------- HADDR 是由我们配置的 这个地址决定的 直接对应FSMC的地址总线A25-0 因为HADDR是每个地址对应一个字节,而如果你外部设备是16位宽,那么
[单片机]
正点原子<font color='red'>STM32</font> LCD-TFT FSMC原理简介(13)
STM32的GPIO内部结构及相关寄存器
学完大二上学期51单片机课程的寒假,在家我就开始捣鼓STM32了,记得那时候接触STM32感觉它很难,20多天下来就学习了RCC时钟体系和GPIO控制模块,开学后又开始忙一些有的没的,STM32的学习也搁置了,以至于后来跟学校当时在念博的老师交流时,我是这样描述我的STM32开发水平的:“我只会用GPIO写流水灯程序”,说来汗颜。 最近一阵子又回归STM32学习之旅,对于GPIO模块其实很不想写文章,感觉在炒冷饭,不过,认真考虑后还是敲起了键盘,对于概念性的东西还是做一下笔记吧,编程方面的,挺简单,相关资料很多,就不记录了。 1. GPIO简介 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引
[单片机]
<font color='red'>STM32</font>的GPIO内部结构及相关寄存器
单片机4位数字时钟仿真程序(定时器方式2, 按键连加)
学习单片机动态数码管显示,数字时钟是最好的案例,本仿真案例有以下特点。 1.使用定时器0,方式2,可以减小定时器的误差; 2.调时、调分按键具有连加功能,与常见的按键松手检测有区别; 3.具有秒点显示功能,若制作实物案例,可购买带秒点的数码管。 参考程序: #include reg52.h #define uint unsigned int #define uchar unsigned char sbit w1=P2^2; sbit w2=P2^3; sbit w3=P2^4; sbit w4=P2^5; sbit s1=P1^3; sbit s2=P1^4; sbit s3=P1^5; uint shi,fen,sec
[单片机]
<font color='red'>单片机</font>4位数字时钟仿真程序(定时器方式2, 按键连加)
[正点原子]STM32开发板F103 第41讲 RTC实时时钟备份区域BKP原理
RTC模块与 时钟配置系统在后备区域,在复位时候不会被清除(框图: 中文参考手册) 如何使用RTC实现时钟?RTCCLK RTC的时钟有几个来源有三种 32.768khz 8Mhz 40khz RTC_PRL是自动重装载寄存器 RTC_DIV 预分频余数寄存器 RTC_DIV的作用就是 可以提供一个更加精确的时钟, 时钟开启之后会给RTC_PRL写一个值(比如100),那么RTCCLK就会被 /100 之后得到 TR_CLK。 TR_CLK的一个周期有100个 RTCCLK ,RTC_DIV在你装载之后它的值就是100,他在 RTCCLK的控制下每一个时钟 减一, 假如RTCCLK=100hz,那么 RT
[单片机]
[正点原子]<font color='red'>STM32</font>开发板F103 第41讲 RTC实时时钟备份区域BKP原理
瑞萨推出血糖仪用MCU,内置生物感测电路
瑞萨电子2016年10月5日宣布,开发出了供血糖仪、乳酸测试仪及胆固醇测试仪等医疗领域的电池驱动设备使用的16位MCU RL78/L1A系列 的6款产品,已开始量产供货。新产品配备生物感测用模拟前端电路,原来必须使用不同仪器测量的血糖值和血红蛋白值可用同一个仪器测量。同时还推出了可即时评估产品功能的Promotion Board。 新产品有三大特点。第一,在模拟前端电路中内置了模拟开关。由于可根据测量对象切换合适的电路,因此可以开发从血液交互测量血红蛋白和血糖值的医疗设备。 第二,通过提供参考软件,容易提高使用D/A转换器、运算放大器、A/D转换器及基准电压电路等内置模拟前端功能的精度。第三,通过在模拟前端电路上
[物联网]
基于EFM32TG840F16 MCU的室内甲醛检测仪设计
甲醛是一种重要的化工原料和有机溶剂,广泛使用于家庭装修的材料中。过量甲醛气体,将诱发疾病甚至致癌,直接危害着人们的身体健康和生命安全。本检测仪采用32 位超低功耗EFM32TG840F16 微处理器和高灵敏度甲醛传感器CH20/S-10,实现甲醛浓度的信号处理和采样,系统外接通讯接口及必要的扩展功能模块,构建智能化、多功能的检测系统。 1 系统硬件设计 甲醛检测 仪硬件主要由单片机主控系统、甲醛传感器接口、液晶显示(LCD)、功能键盘、数据存储、打印和报警输出等功能模块构成。系统硬件结构框图(见图1)。 图1: 系统功能框图 该系统采用32 位EFM32TG840F16 单片机作为主控核心,内
[单片机]
基于EFM32TG840F16 <font color='red'>MCU</font>的室内甲醛检测仪设计
如何用STM32单片机蜂鸣器来演奏音乐
本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。 蜂鸣器 有源蜂鸣器 内部有震荡源,只要通电就会有响声,但是声音频率固定。 无源蜂鸣器 内部不含振荡源,蜂鸣器管脚输出一定频率的信号,才能发声。 本实例中用到的是无源蜂鸣器,控制频率高低发出不同声调的声音。 电路原理图 由电路原理图可知,蜂鸣器在PB5管脚,以一定频率翻转PB5管脚的电平,可以使蜂鸣器发声。 STM32工程 打开STM32CubeIDE软件,新建STM32工程。关于STM32CubeIDE软件的使用方法,可以参考此文:STM32中PWM的配置与应用详解。 配置时钟。 项目设置。 设置调试模式。 开启PB5管脚。
[单片机]
如何用<font color='red'>STM32</font><font color='red'>单片机</font>蜂鸣器来演奏音乐
一种迷你数控雕刻机系统的设计方案
随着艺术模型、机械加工、工装模具等产业的飞速发展,对加工设备提出的要求越来越高,雕刻机作为上述产业的重要组成部分也发生了快速的发展。 目前,传统雕刻机体积大、操作复杂、售价高。不仅需要专门的计算机搭载专门的软件,还需要专业操作人员进行控制,而且传统雕刻机主要用于批量生产,对于一些雕刻机爱好者和模具设计师想利用雕刻机雕刻单件自己设计的作品,传统雕刻机专业性强,费用高,不切实际。此外,一些传统的雕刻机使用之前需要人工通过转动三轴方向的手轮对雕刻头进行初步定位,精度、效率低。还有一些高端雕刻机采用软件对雕刻头初步定位,但是设备昂贵。 鉴于此,精心设计了一种迷你数控雕刻机系统。该系统不仅操作简单、方便,而且雕刻头初步定位精度精确、效率高。
[电源管理]
一种迷你数控雕刻机系统的设计方案
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved