stm32外部中断

article/2025/9/12 5:14:03

中断

中断概念程序中断是指在计算机执行现行程序的过场中,出现某些急需处理的异常情况或特殊请求,CPU暂停中断现行程序,而专区对这些异常情况或特殊情况进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。

中断源,即引起中断的事件或原因,或发出中断申请的来源。

中断向量是中断服务程序的入口地址,在计算机中中断向量的地址存放一条跳转到中断服务程序的跳转指令。


目录

中断

1.stm32中断系统

2.外部中断介绍

3.外部中断程序设计思路

1)传统STM32外部中断设计步骤:

2)基于STM32CubeMX的外部中断设计步骤:

0.1新建工程

0.2配置时钟源和时钟树​

 0.3选择调试方式​

0.4配置led​ 

1.配置按键中断

2.选择pa0口为外部中断,选择下降沿触发。

3.设置NVIC(嵌套向量中断控制器)

 4.生成工程并打开

5.找到外部中断回调函数

6.在中断回调函数内编写服务函数 


1.stm32中断系统

理解中断、中断源中断向量、中断优先级、中断服务函数…等基础概念。

中断源,即引起中断的事件或原因,或发出中断申请的来源。

STM32的中断通道可能会由多个中断源共用。这就意味着,某一个中断服务函数也可能被多个中断源所共用。所以,在中断服务函数的入口处,需要有一个判断机制,用以辨别是那个中断触发了中断。

STM32微处理器的内核中有一个NVIC(嵌套向量中断控制器)的设备,它对中断进行统一的协调和控制,其中最主要的工作就是控制中断通道的使能和确定中断的优先级。

STM32中有2个优先级的概念:抢占优先级响应优先级,每个中断都需要指定这两种优先级。

如果两个抢占优先级相同的中断同时到达,NVIC会根据他们的响应优先级高低来决定先处理哪一个。如果两个同时到达的中断的抢占优先级和响应优先级都相等,则根据中断的自然排位顺序来决定响应哪一个。

2.外部中断介绍

外部中断EXTI是STM32微处理器实时处理外部事件的一种机制,由于中断请求主要来自GPIO端口的引脚,所以称为外部中断。
STM32F013微处理器有19个能产生事件/中断请求的边沿检测器,每个输入线可以独立地配置成输入类型(脉冲或挂起)和对应的触发事件(上升沿、下降沿或双边沿触发),也可以独立地屏蔽。

EXTI0~EXTI15:GPIO端口引脚。
EXTI16:PVD输出,可编程电压监测。
EXTI17:RTC闹钟。
EXTI18:USB唤醒。

3.外部中断程序设计思路

1)传统STM32外部中断设计步骤:


【1】将GPIO初始化为输入端口。
【2】配置相关I/O引脚与中断线的映射关系。
【3】设置该I/O引脚对应的中断触发条件。
【4】配置NVIC,并使能中断。
【5】编写中断服务函数。

2)基于STM32CubeMX的外部中断设计步骤:


【1】在STM32CubeMX中指定引脚,配置中断初始化参数。
选择GPIO引脚的功能,设置中断信号触发条件,使能NVIC对应的中断通道。

0.1新建工程

0.2配置时钟源和时钟树

 

 0.3选择调试方式

0.4配置led 

 

1.配置按键中断

选择pa0为外部中断,配置引脚为低电平触发,默认上拉,引脚重定义为KEY

 

2.选择pa0口为外部中断,选择下降沿触发。

3.设置NVIC(嵌套向量中断控制器)

在EXTI lin0 interrupt 后打上对勾。设置优先级,并开启外部中断

 在这里插入图片描述
在EXTI lin0 interrupt 后打上对勾。

 4.生成工程并打开

 

 

 【2】重写该I/O引脚对应的中断回调函数

5.找到外部中断回调函数

在这里插入图片描述
将此函数在主函数内重新定义,_weak(弱定义)

6.在中断回调函数内编写服务函数 

/* USER CODE BEGIN 0 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{if(GPIO_Pin == KEY_PIN){HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_13);}
}

外部中断的初始化函数由STM32CubeMX辅助生成,用户只需要重写中断回调函数。 


http://chatgpt.dhexx.cn/article/0OhnegEd.shtml

相关文章

【STM32学习笔记】(13)——外部中断详解

EXTI 简介 EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20 个中断/事件线。每个输入线可以独立地配置输入类型(脉冲 或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。EXTI 可以实现对每个中断…

STM32 外部中断

目录 一、简单介绍外部中断 二、外部中断结构图 三、外部中断配置 一、简单介绍外部中断 中断即打断,实至CPU再执行当前程序时,由于系统出现了某种需要处理的紧急情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处…

(十四)STM32——外部中断(EXTI)

目录 学习目标 内容 介绍 配置 代码 运行结果 总结 学习目标 本节内容我们将介绍一下外部中断,STM32F4 的每个 IO 都可以作为外部 中断的中断输入口,这点也是 STM32F4 的强大之处。本节我们将使用 STM32F4 的 IO 口作为外部中断输入,…

STM32-外部中断详解

目录 前言 一、外部中断是什么? 二、STM32外部中断概述 1. STM32的外部中断线 2. 外部中断线与IO引脚对应关系 3. 中断向量与服务函数 三、STM32外部中断库函数配置 1. 常用库函数 2. 库函数配置一般步骤 总结 前言 本章讲解STM32的另一个重要的外…

矩阵卷积运算的具体过程,很简单

最近在看图像处理,卷积运算这一块也查了很多,但是感觉都写的太复杂,我这里简单的写一下卷积到底是一个什么计算过程。 假设有一个卷积核h,就一般为3*3的矩阵: 有一个待处理矩阵x: h*x的计算过程分为三步 …

一、什么是卷积

CNN基础: 实现对图像的高准确率识别离不开一种叫做卷积神经网络的技术。卷积神经网络主要是应用于计算机视觉任务当中,但是他处理的任务不只是局限于图像,其实语音识别是也可以使用卷机神经网络。 什么是卷积? 我们人眼看到的和…

线性卷积

持续更新&#xff0c;敬请指正 1. 线性卷积的基本理论 线性卷积是对线性移不变&#xff08;LSI&#xff09;系统的输入输出关系的描述&#xff0c;体现系统的特性。 线性卷积的表达式为 一般情况&#xff0c;现实的系统为因果系统&#xff0c;有k<0时&#xff0c;恒有h(k)…

图像的卷积

图像的卷积 写在前面什么是卷积图像的卷积操作怎么将卷积运用到我们的图像处理上呢&#xff1f;图像卷积没什么用的卷积核 通过卷积实现高斯滤波什么是高斯滤波怎么使用卷积实现高斯滤波 写在结尾 写在前面 前段时间因为一个二维码识别项目&#xff0c;接触到了很多图像处理的…

对卷积的定义和意义的通俗解释

对卷积的困惑 卷积这个概念&#xff0c;很早以前就学过&#xff0c;但是一直没有搞懂。教科书上通常会给出定义&#xff0c;给出很多性质&#xff0c;也会用实例和图形进行解释&#xff0c;但究竟为什么要这么设计&#xff0c;这么计算&#xff0c;背后的意义是什么&#xff0…

卷积矩阵及其运算实例

矩阵的卷积运算主要用在图像处理中&#xff0c;假设输入信号为x[m,n]&#xff0c;激活响应为h[m,n]&#xff0c;则其卷积定义为&#xff1a; 不过在图像处理中这里的激活响应&#xff08;也称为核&#xff09;h[m,n]通常是一个3乘3矩阵&#xff0c;其下标如下图所示 其余下标的…

循环卷积和线性卷积(矩阵视角)

文章目录 循环卷积循环矩阵&#xff08;Circulant Matrices&#xff09;循环矩阵与循环卷积的关系 线性卷积 循环卷积 循环矩阵&#xff08;Circulant Matrices&#xff09; C [ c 0 c 1 ⋯ c N − 1 c N − 1 c 0 ⋱ ⋮ ⋮ ⋱ ⋱ c 1 c 1 ⋯ c N − 1 c 0 ] ∈ R N N (1) \…

【CV】卷积和逆卷积(转置卷积)详解

【CV】卷积和逆卷积&#xff08;转置卷积&#xff09;详解 文章目录 【CV】卷积和逆卷积&#xff08;转置卷积&#xff09;详解1. 卷积与转置卷积的关系2. 普通卷积3. 转置卷积3.1 形象化转置卷积过程3.2 转置卷积总结 4. 转置卷积函数4.1 转置卷积函数详解4.2 一般与特殊4.2.1…

什么是卷积?

理解1&#xff1a; 作者&#xff1a;果程C 链接&#xff1a;https://www.zhihu.com/question/22298352/answer/50940942 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 对于初学者&#xff0c;我推荐用复利的例子来理…

【图像处理】卷积算法

本文索引&#xff1a; 文章目录 # 一、 什么是卷积&#xff1f; 在图像处理中&#xff0c;卷积操作指的是使用一个卷积核对图像中的每个像素进行一系列操作。 卷积核&#xff08;算子&#xff09;是用来做图像处理时的矩阵,图像处理时也称为掩膜&#xff0c;是与原…

matlab 矩阵卷积

卷积的表达式&#xff1a; y(n)x(n)*h(n)sigma{x(m)h(n-m)} y(n)x(n)*sigma{deta(n-m)} 对应信号系统的卷积冲激函数&#xff0c;系统的结果就是信号和其本身的线性移位 结果元素的个数&#xff0c;x(n)的长度是n,h(n)的长度是m,则结果的序列长度就是nm-1 和信号处理的过程是…

卷积的理解

之前&#xff0c;习惯把记录和总结的知识点放到云笔记上&#xff0c;但发现CSDN这个博客注册好久了&#xff0c;但却没有往上面放文章&#xff0c;所以决定把以前的笔记整理一下&#xff0c;放到这里来&#xff0c;以便交流学习。 关于信号的卷积 最初认识卷积来源于《信号与…

卷积的含义

本文章为学习笔记 学习内容&#xff1a;b站up主王木头学科学的视频从“卷积”、到“图像卷积操作”、再到“卷积神经网络”&#xff0c;“卷积”意义的3次改变 假设一个人在一天中持续不断地吃东西&#xff0c;同时也在消化吃下去的食物&#xff0c;就有这样两条曲线&#xf…

(n,k,N)卷积码的生成矩阵

文章目录 卷积码卷积码编码器卷积码生成矩阵子生成元和生成元子生成矩阵和生成矩阵生成矩阵的作用 举例 ( n , 1 , N ) (n,1,N) (n,1,N)卷积码 ( n , k , N ) (n,k,N) (n,k,N)卷积码 卷积码 ( n , k , N ) (n,k,N) (n,k,N)卷积码是将每 k k k个信息比特作为一组&#xff0c;编码…

线性卷积运算

一、卷积定义 卷积是两个变量在某范围内相乘后求和的结果。如果卷积的变量是g(n)序列和h(n)&#xff0c;则卷积的结果 y ( n ) g ( n ) ∗ h ( n ) ∑ i − ∞ ∞ g ( i ) h ( n − i ) y(n) g(n) * h(n) \sum_{i -\infty}^{\infty}g(i)h(n-i) y(n)g(n)∗h(n)i−∞∑∞​…

向量与矩阵的卷积算法

由于我发现网上并没有关于向量与矩阵两者进行卷积计算的具体算法&#xff0c;所以我就跟各位网友分享一下我的观点。因为本人知识储备有限&#xff0c;对卷积的了解也很是肤浅&#xff0c;没有深入研究&#xff0c;所以有错误的地方还请大神们指正&#xff0c;小子不胜感激。 …