0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

不会RTOS,是因为你没搞懂NVIC

朱老师物联网大讲堂 2024-03-31 08:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、到底什么是NVIC?


NVIC(Nested Vectored Interrupt Controller)中文翻译为:嵌套中断向量控制器

NVIC属于内核级别的外设单元,用来管理CPU的中断。

由NVIC管理的中断可进行中断嵌套,直译为高优先级可打断低优先级中断,然后高优先级执行完了再转回去执行低优先级中断。

对于RTOS(实时操作系统)类型的OS有很大的好处,所以先搞懂NVIC,再去涉猎RTOS,会更加的轻松。

二、抢占和次级优先级说明?

NVIC的优先级分为抢占和次优先级,这两种优先级共同来管理所有中断的响应次序以及是否能被打断,如下图所示:

fc9ac6d4-eef2-11ee-9118-92fbcf53809c.png

上图中断响应分为三种情况:

第一种情况抢占优先级不在同一级别:当中断源C正在被执行时,中断源A发生了中断,这时会去比较抢占优先级,因为A的抢占优先级别比C高,所以会将C中断挂起,转而去执行A中断,当A中断执行完了又回去继续执行C中断。

第二种情况抢占优先级在同一级别:当中断源B正在被执行时,中断源A发生了中断,这时会去比较抢占优先级,因为A的抢占优先级别和B相等,所以不会打断B中断,须等待B执行结束转而去执行A中断。

第三种情况抢占优先级在同一级别:当中断源A、B同时发生了中断,因为A和B的抢占优先级相等,转而会继续比较次优先级,而A的次优先级比B高,所以会先执行A然后再执行B。

NVIC的抢占优先级和次优先级数量是有限的,这需要自己设置有多少个抢占优先级和一个抢占优先级里面有多少个次优先级。

fca17d3a-eef2-11ee-9118-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RTOS
    +关注

    关注

    25

    文章

    862

    浏览量

    122616
  • NVIC
    +关注

    关注

    0

    文章

    37

    浏览量

    12342
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    像这种受电端/负载端的电压诱骗芯片和电源端//负载端的协议芯片有什么区别,搞懂

    像这种受电端/负载端的电压诱骗芯片和电源端//负载端的协议芯片有什么区别,搞懂*附件:CH224K.pdf
    发表于 09-28 11:52

    为什么不会接开关呢?是因为不懂这些

    电工技术
    学习电子知识
    发布于 :2022年10月13日 20:58:36

    工作之所以成为工作,是因为只需要工作而不需要...

    有这么一句名言: 工作,它之所以成为工作,是因为只需要工作而不需要思考。   也许会对这句话有异议,但是大部分人和大部分工作确实是这样的。工厂员工在流水线上机械地组装,服务员每天重复着招待
    发表于 11-19 16:47

    用malab GUI做的钢琴键盘,但是callbacks一直搞懂

    用malab GUI做的钢琴键盘,但是callbacks一直搞懂,希望有人能帮帮忙,小弟在此谢过啦
    发表于 01-04 20:12

    AD仿真,这个错误是因为什么?

    这个错误是因为什么?
    发表于 11-03 21:53

    Atmage128重启或死机,是因为电源处理好还是什么原因?

    用Atmage128 通过 光耦隔离驱动模块 驱动直流有刷电机,电机参数是12V,300W,有时候在电机加速过程中,MCU就会重启或死机(422通讯中断),是因为电源处理好还是什么原因?用
    发表于 07-20 08:45

    什么是NVIC

    工作中涉及到stm32挂载非接中断子程序,有时候共用外部中断口线时,对中断口线的处理得学习下,顺便了解下中断优先级设置。此文章从网上搜到转载记录下。出处:如果需要在STM32上移植RTOS,那么首先必须深入理解它的中断系统。什么是NV
    发表于 08-13 08:40

    如何在RTOS中使用lwip库?

    行不通的。我混淆了设置优先级(根据 FREE RTOSNVIC)lwip 和 RTOS能给我建议吗? 最好的祝福。
    发表于 01-16 07:28

    stlink无法识别是因为什么?

    stlink无法识别是因为什么
    发表于 10-31 06:40

    学STM32入门很难?那是因为掌握正确的方法!

    对于STM32的学习,其实不用想的太复杂,毕竟它只是一个单片机,只是比51单片机增加了一些外设而已,寄存器由8位变成了32位罢了。所以明白这些就摆正心态,一点一点循序渐进的学习就可以了。下面我
    发表于 12-07 18:21 0次下载
    学STM32入门很难?那<b class='flag-5'>是因为</b><b class='flag-5'>你</b><b class='flag-5'>没</b>掌握正确的方法!

    STM32F1----NVIC

    1.NVIC初始化流程配置中断优先级分组void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);建立
    发表于 01-17 09:37 6次下载
    STM32F1----<b class='flag-5'>NVIC</b>

    磐石测控:深圳按键开关不灵敏是因为什么?

    磐石测控:深圳按键开关不灵敏是因为什么?
    的头像 发表于 10-31 11:46 1345次阅读
    磐石测控:深圳按键开关不灵敏<b class='flag-5'>是因为</b>什么?

    锡膏不上锡是因为活性不足吗?

    众所周知,有时候锡膏不上锡是因为活性不足,还有人会说活性越多越好。有时候锡膏不挂锡是因为活性不足吗。这样的话,会觉得锡膏的活性越高越好吗?下一步由深圳锡膏厂家为大家分析一下:大家都知道锡膏中有许多
    的头像 发表于 01-04 15:46 1174次阅读
    锡膏不上锡<b class='flag-5'>是因为</b>活性不足吗?

    失去工作不是因为AI,而是因为使用AI的人

    当算法能精准预测消费者需求时,当AI生成的文案比人类更懂传播心理学时,当自动化系统开始取代基础决策岗位时,真正的危机已悄然降临—— 不是AI在抢夺的工作,而是那些比你更早掌握AI、更懂得如何驾驭
    的头像 发表于 05-13 12:05 612次阅读
    <b class='flag-5'>你</b>失去工作不<b class='flag-5'>是因为</b>AI,而<b class='flag-5'>是因为</b>使用AI的人

    RTOS 必学概念:任务、信号量、队列一次搞懂

    如果刚接触RTOS(实时操作系统),很可能会有这样的困惑:“RTOS和裸机程序到底有什么区别?”“任务是线程吗?为什么要分任务?”“信号量和互斥锁有什么区别,不都是同步手段吗?”“队列是不是就是一
    的头像 发表于 11-17 10:53 198次阅读
    <b class='flag-5'>RTOS</b> 必学概念:任务、信号量、队列一次<b class='flag-5'>搞懂</b>