01- 中断

news2024/9/22 17:36:08

中断

  • 中断
    • 1.1 NVIC中断优先级分组
    • 1.2 外部中断
      • <1> 映射中断线
      • <2> 设置中断触发方式
      • <3> 编写中断服务函数
      • 外部中断常用的库函数:
      • 中断函数初始化
      • 外部中断的一般配置步骤:
      • 部分示例:

中断

1.1 NVIC中断优先级分组

《stm32中文参考手册》的9.1.2节有详细介绍
NVIC中断优先级分组
在这里插入图片描述

60个中断的管理就需要用到NVIC,管理的方法:
对stm32的中断进行分组,分为0~4组。对每个中断设置抢占优先级和响应优先级。优先级高的中断先执行,先比较抢占优先级,再比较响应优先级。

  • <1>抢占优先级相同时,如果响应优先级低的中断在执行,这时响应优先级高的中断不能打断响应优先级低的中断。
  • <2>那响应优先级不能用于打断中断的话,他有什么作用呢?
    用于抢占优先级相同的中断同时发生时的比较,这时响应优先级高的中断先执行。
  • <3>抢占优先级和响应优先级都相同的中断,先发生的中断先执行。

一般在程序中只设置一次中断优先级分组,如果随意改变会造成中断管理混乱。
分组的配置在SCB->AIRCR中配置:
在这里插入图片描述
中断优先级分组函数:
在这里插入图片描述
使用时,如设置为中断分组2:
在这里插入图片描述
使用库函数配置时,在需要配置中断的子函数中进行配置:
在这里插入图片描述
在主函数中调用库函数设置中断分组:
在这里插入图片描述

1.2 外部中断

在这里插入图片描述

<1> 映射中断线

有16个中断线,但是同一时间只有一个I/O映射到对应的中断线
在这里插入图片描述

<2> 设置中断触发方式

在这里插入图片描述

<3> 编写中断服务函数

16条外部中断线,并不是有16个中断服务函数,系统分配了7个中断服务函数。
EXTI0 --------EXTI线0中断
在这里插入图片描述

外部中断线9 ~ 5分配了一个中断向量,共用一个中断服务函数;外部中断线15~ 10分配了一个中断向量,共用一个中断服务函数,加上0~4中断线服务函数,总共7个。
在这里插入图片描述

外部中断常用的库函数:

在这里插入图片描述

中断函数初始化

在这里插入图片描述
创建结构体、初始化参数、初始化结构体
EXTI_InitTypeDef EXTI_InitStruct;
在这里插入图片描述

外部中断的一般配置步骤:

在这里插入图片描述

部分示例:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/891177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动驾驶——车辆动力学模型

/*lat_controller.cpp*/ namespace apollo { namespace control {using apollo::common::ErrorCode;//故障码 using apollo::common::Status;//状态码 using apollo::common::TrajectoryPoint;//轨迹点 using apollo::common::VehicleStateProvider;//车辆状态信息 using Matri…

分模块开发的意义及开发步骤

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaweb 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Maven进阶 一、分模块开发1.1分模块开发的意义1.2分模块开…

FlexTools plugin and 3dWindow plugin for SketchUp Crack

FlexTools v2.3.6 plugin for SketchUp 3dWindow v.4.5 plugin for SketchUp 建筑师和3D艺术家使用FlexTools创建SketchUp门、窗、楼梯和其他建筑元素&#xff0c;具有卓越的速度和控制水平。 SketchUp功能强大但易于使用的扩展。对于在施工图或建筑图中使用SketchUp的每个人…

Python 学习笔记——代码基础

目录 Python基础知识 变量 赋值 数据类型 print用法 print格式化输出 运算符 if-else 数据结构 元组 in运算符 列表 切片 [ : ] 追加 append() 插入 insert&#xff08;&#xff09; 删除 pop() 字典 循环 for循环 for循环应用——遍历 for循环应用——累加…

企业如何有效进行远程控制权限管理?向日葵权限管理能力解析

企业对于远程控制这一技术的管理&#xff0c;主要分为两部分&#xff0c;一种管理的目的是提升效率&#xff0c;另一种的目的是降低风险&#xff0c;我们这里着重聊聊后者。 企业管理远控行为&#xff0c;核心关键词是“权限”&#xff0c;通过不同的权限策略和能力&#xff0…

通信模块和光模块有什么区别?通信模块是光模块吗?

在现代科技高速发展的时代&#xff0c;通信技术扮演着举足轻重的角色&#xff0c;促进着全球信息的传递与交流。而在通信技术领域&#xff0c;通信模块与光模块是两个重要的组成部分。它们都在数据传输中发挥着关键作用&#xff0c;但又有着一些显著的区别。本文易天光通信将对…

一文看尽R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD详解

一文看尽R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD详解 以下六篇文章总结详细&#xff1a; 1. 一文读懂目标检测&#xff1a;R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD 2. 【深度学习】R-CNN 论文解读及个人理解 3、R-CNN论文详解 4、一文读懂Faster RCNN 5、学一百遍都…

Dockerfile概念、镜像原理、制作及案例讲解

1.Docker镜像原理 Linux文件操作系统讲解 2.镜像如何制作 3.Dockerfile概念 Docker网址&#xff1a;https://hub.docker.com 3.1 Dockerfile关键字 4.案例

基于YOLOv8模型的人体摔倒行为检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的人体摔倒行为检测系统可用于日常生活中检测与定位摔倒行人&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数…

Transformer是什么,Transformer应用

目录 Transformer应用 Transformer是什么 Transformer应用:循环神经网络 语言翻译:注重语句前后顺序 RNN看中单个特征; CNN:看中特征之间时序性 模型关注不同位置的能力 Transformer是什么 Transformer是一个利用注意力机制来提高模型训练速度的模型。关于注意力机…

分布式事务与解决方案

一、什么是分布式事务 首先我们知道本地事务是指事务方法中的操作只依赖本地数据库&#xff0c;可保证事务的ACID特性。而在分布式系统中&#xff0c;一个应用系统被拆分为多个可独立部署的微服务&#xff0c;在一个微服务的事务方法中&#xff0c;除了依赖本地数据库外&#…

R语言实现神经网络(1)

#R语言实现神经网络 library(neuralnet) library(caret) library(MASS) library(vcd) data(shuttle) str(shuttle)#因变量use; table1<-structable(windmagn~use,shuttle) mosaic(table1,shadingT) mosaic(use~errorvis,shuttle) prop.table(table(shuttle$use,shuttle$stab…

当你出差在外时,怎样轻松访问远程访问企业局域网象过河ERP系统?

文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 概述 ERP系统对于企业来说重要性不言而喻&#xff0c;不管是财务、生产、销售还是采购&#xff0c;都需要用到ERP系统来协助。…

1191. K 次串联后最大子数组之和;2171. 拿出最少数目的魔法豆;1297. 子串的最大出现次数

1191. K 次串联后最大子数组之和 核心思想&#xff1a;贪心&#xff0c;如果k < 2 那么只需要按照求最大子数组和来求即可&#xff0c;如果k>2了&#xff0c;那么如果子数组的和大于0就把它加在一起&#xff0c;如果不大于0就不要这部分。 2171. 拿出最少数目的魔法豆 …

Octree八叉树python

原理 简单示例&#xff1a; 假设我们有以下一组三维点云数据&#xff1a; points [[0.1, 0.1, 0.1],[0.4, 0.1, 0.1],[0.1, 0.4, 0.1],[0.4, 0.4, 0.1],[0.1, 0.1, 0.4],[0.4, 0.1, 0.4],[0.1, 0.4, 0.4],[0.4, 0.4, 0.4], ] 我们可以使用八叉树将这些点云数据存储在三维空…

如何构造不包含字母和数字的webshell

利用不含字母与数字进行绕过 1.异或进行绕过 2.取反进行绕过 3.利用php语法绕过 利用不含字母与数字进行绕过 基本代码运行思路理解 <?php echo "A"^""; ?> 运行结果为! 我们可以看到&#xff0c;输出的结果是字符"!"。之所以会…

干翻Dubbo系列第十一篇:Dubbo常见协议与通信效率对比

文章目录 文章说明 一&#xff1a;协议 1&#xff1a;什么是协议 2&#xff1a;协议和序列化关系 3&#xff1a;协议组成 &#xff08;一&#xff09;&#xff1a;头信息 &#xff08;二&#xff09;&#xff1a;体信息 4&#xff1a;Dubbo3中常见的协议 5&#xff1a;…

数据结构—线性表的查找

7.查找 7.1查找的基本概念 问题&#xff1a;在哪里找&#xff1f;——查找表 查找表是由同一类型的数据元素&#xff08;或记录&#xff09;构成的集合。由于“集合”中的数据元素之间存在着松散的关系&#xff0c;因此查找表是一种应用灵便的结构。 问题&#xff1a;什么查找&…

07- RTC实时时钟

RTC实时时钟 RTC实时时钟RTC时钟来源&#xff1a;RTC的特征&#xff1a;简化的RTC框图及原理简介&#xff1a;RTC由两部分组成&#xff1a;RTC相关库函数&#xff1a;库函数的讲解和使用&#xff1a;RTC配置步骤&#xff1a; 示例 RTC实时时钟 RTC时钟来源&#xff1a; RTC的特…

并发编程4:Java 中的并发基础构建模块

目录 1、同步容器类 1.1 - 同步容器类的问题 1.2 - 迭代和容器加锁 2、并发容器类 2.1 - ConcurrentHashMap 类 2.2 - CopyOnWriteArrayList 类 3、阻塞队列和生产者-消费者模式 3.1 - 串行线程封闭 4、阻塞方法与中断方法 5、同步工具类 5.1 - 闭锁 -> CountDow…