STM32——关于NVIC讲解及标准库应用(基础篇)

news2024/11/26 15:37:19

简介:

        NVIC是指STM32中的中断控制器(Nested Vectored Interrupt Controller)。中断是STM32中的重要机制,通过中断可以实现异步事件处理。NVIC提供了灵活、高效、可扩展的中断处理机制,支持多级优先级、多向中断、嵌套向量中断等特性,是STM32中的重要组件。

        当STM32在程序运行过程中触发中断条件时,STM32会暂停当前正在运行的程序,转头去处理中断程序,处理完后又会返回原先暂停的地方继续运行主程序。这样,STM32的中断就会产生以下中断处理流程:

        中断处理分为三个阶段:中断响应、中断处理、中断返回。

  • 中断响应:当中断事件发生时,STM32首先会对中断请求进行检测。如果检测到中断请求,CPU会暂停当前进程的执行,将控制权交给中断处理程序。
  • 中断处理:中断处理程序是一段特殊的代码,负责处理中断事件。中断处理程序必须尽可能快地执行完成,以便尽快恢复原来的执行状态。
  • 中断返回:当中断处理程序执行完成时,CPU会返回到原来的执行状态,继续执行之前中断事件发生时的程序。

NVIC的组成

NVIC由以下几个部分组成:

(1)中断优先级和控制器

NVIC支持多级优先级,可以配置不同的优先级和互斥优先级组。中断控制器负责中断的挂起、解挂和优先级管理。NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级。抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队。

(2)向量表

向量表是一张中断服务程序的地址表,存储了每个中断源对应的中断处理程序的入口地址。

(3)系统控制寄存器

系统控制寄存器提供了对NVIC中断控制器的配置和控制。

(4)特殊功能寄存器

特殊功能寄存器是NVIC中断控制器对外暴露的寄存器,用于实现对中断处理的控制,包括中断使能、中断标志、中断状态等。


NVIC的应用

NVIC提供了丰富的接口和功能,包括以下几个方面的应用:

(1)中断优先级设置

NVIC支持标准中断优先级和子优先级,可以设置不同的优先级级别。用户可以根据不同的需求对中断优先级进行设置,以实现对中断的响应和处理。

(2)中断嵌套处理

NVIC支持多重中断,可以在一个中断处理程序中处理多个中断事件,提高中断响应效率。同时,中断嵌套处理还可以实现对不同优先级的中断事件的处理。

(3)CPU低功耗模式

当CPU处于低功耗模式时,NVIC提供了挂起和解挂中断的机制,可以根据不同需求设置相应的中断使能和关闭。

(4)中断标志复位

NVIC提供了中断标志复位功能,可以清除某个中断事件的标志位。这是在中断处理过后需要清除标志位的情况下尤为重要。

(5)DMA中断

NVIC支持DMA中断,在DMA传输过程中可以监控传输状态,及时响应传输完成事件。


总结

NVIC是STM32中的重要组件,提供了丰富的中断处理接口和功能,通过合理设置中断优先级、嵌套处理、低功耗模式等机制,可以实现高效、灵活的中断处理。理解和掌握NVIC的功能和使用方式,对于STM32开发者来说是非常重要的。

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

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

相关文章

深入理解网络协议

hi 大家好,之前带小伙伴,一起复习了一遍网络协议,对网络协议的核心知识进行梳理,希望大家早日掌握这些核心知识,打造自己坚实的基础,为自己目标慢慢积累,厚积薄发。 详细点击查看-> 极客星球…

傅一平:一文讲透ERP的下一代架构!

”5月22日,华为宣布仅用15小时便完成了全球88家子公司MetaERP系统的切换。这也意味着华为MetaERP系统研发取得胜利,成功摆脱外国供应商断供停服威胁,实现该系统的全栈自主可控。“ 自己最近对ERP下一代架构有了兴趣,原因有四个&am…

阿里拆成1+6+N,中台还搞不搞了?

📣📣📣📣📣📣📣 🎍大家好,我是慕枫 🎍前阿里巴巴高级工程师,InfoQ签约作者、阿里云专家博主,一直致力于用大白话讲解技术知识 &#x…

推荐 6 个上周 火火火 的开源项目

本期推荐开源项目目录: 1. ChatGPT 网页应用(AI) 2. AI 换脸(AI) 3. API 调用 Midjourney 进行 AI 画图(AI) 4. 如何使用 Open AI 的 API?(AI) 5. 中华古诗词…

写在2023年乐夏前

(1)白衬衣的少年 勇敢的你 站在这里 脸庞清瘦却骄傲 (2)来啊,一起摇摆啊 这首歌发表在2016年。那时候的他们已经功成名就,彭磊却还能写出这样的词。 纸醉金迷不应该是:防晒霜、付税单、玫瑰金、…

Python海龟有了新技能,这回画了个印度美女。Python海龟洪水填充命令fill的用法

Python海龟有了新技能,这回画了个印度美女。看官想一想,如果要填充圆环区域,该如何填充呢?Python的海龟模块本质是对凸多边形的填充,对于凹多边形的填充无法胜任。 真正的Python海龟绘图在这,视频里还有点…

AI绘画真的是太神奇!

最近会员群的同学一直研究AI绘画,AI技术真的太神奇了,以前是插画师的看家本领,现在通过AI技术一下子让平头老百姓也能有这样的技能!好像路痴有了导航也能开车了。最近在研究如何利用AI做卡通头像,发现这个不仅好玩&…

深度图解 Redis Hash(散列表)实现原理

1. 是什么 Redis Hash(散列表)是一种 field-value pairs(键值对)集合类型,类似于 Python 中的字典、Java 中的 HashMap。一个 field 对应一个 value,你可以通过 field 在 O(1) 时间复杂度查 field 找关联的…

更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序

之前公司一直使用的是ASP.NET Boilerplate (ABP),但是当解决方案变得很大时,项目启动就变得非常慢,虽然也想了一些办法,将一些基础模块做成Nuget包的形式,让整个解决方案去引用。但是整个项目还是很臃肿,各…

双轴高精度倾角传感器安装方式和485协议

倾角安装注意事项 在安装传感器时,不正确安装会导致测量角度误差偏大。安装时请注意以下两点: 1.“两面”指安装面与被测物体的安装面紧靠(被测物体的安装面要尽可能水平),不能有夹角产生(如A图中的角a&a…

【靶场】vulfocus搭建和场景编排

前言 Vulfocus 是一个漏洞集成平台,将漏洞环境 docker 镜像,放入即可使用,开箱即用,这里我们搭建在云服务器上,需要高一点的配置,搭建可以按需搭建本地和自己的服务器上,我们主要使用场景编排功…

【系统学习】Java基础1之多线程

前言 被公司换岗一年多了,从Linux C换到了java开发,奈何大环境不好,半吊子经验找不到好工作。 接触了spring cloud, spring boot k8s等许多新的知识。已经开发Java生态相关项目已一年半,但都止步于用的阶段,自知毫无竞…

小航编程题库蓝桥杯stem科技素养模拟练习试卷(初级第2套)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 25. 百度公司是一家于 2000 年创立的互联网公司,其业务范围十分广泛。以下选 项中,( )不…

v4L2应用开发学习!

一.什么是V4L2框架? V4L2英文全称是Video for Linux2,它是专门为视频设备设计的内核驱动。在做视频的开发中,一般我们操控V4L2的设备节点就可以直接对摄像头进行操作。通常V4L2在Linux的设备节点是**/dev/video0**。无论是MIPI摄像头还是UVC摄…

SpringBoot项目快速添加新依赖框架的插件---->EditStarters

在SpringBoot项目中,我们往往会因为项目的需要经常需要添加一些新的依赖来支持项目的运行,此时可能会有人去Maven中央仓库去下载相关依赖,再来导入pom.xml。 但是可以有另外一种更快速的方法:那就是IDEA已经提供了一种快速的插件&…

HTB PC

HTB PC 链接:https://qing3feng.github.io/2023/05/29/HTB%20PC/ 今天又学一招,配置好/etc/hosts​文件: ​[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 如图所示,这样子就可以直接ping pc​了&#x…

Mongodb 为什么提起处理JSON 就是MOGNODB 的,因为我没得选

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

ChatGPT时代情感分析还存在吗?一份真实调查

深度学习自然语言处理 原创作者:qazw 引言 最近几年,GPT-3、PaLM和GPT-4等LLM刷爆了各种NLP任务,特别是在zero-shot和few-shot方面表现出它们强大的性能。因此,情感分析(SA)领域也必然少不了LLM的影子,但是哪种LLM适用…

结束了

阅读本文大概需要 1.29 分钟。 帅张读书会,结束了。 这里也简单记录一下这件事,毕竟是自己做了两年的产品。 经过两年的时间,自 2021 年 5 月 27 日至 2023 年 5 月 27 日,帅张读书会这个项目持续了两期,第二期现在结束…

配置wxworks6.9系统移植到xilinx zynq ps端

一,创建bootrom 打开打开Workbench,目录在C:\WindRiver\workbench-3.3\wrwb\platform\x86-win32\eclipse\eclipse-x86-win32 在菜单栏,点击 File->New->Project。The New Project Wizard opens。 在 VxWorks 6.x中,选择 Vx…