栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

NVIC中断优先级管理(学习笔记)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NVIC中断优先级管理(学习笔记)

NVIC中断优先级分组

CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。

STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。

STM32有84个中断,包括16内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。

STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个)。

中断管理方法

首先,对STM32中断进行分组,组0-4,对每个中断设置一个抢占优先级和一个响应优先级。分组配置是在寄存器SCB->AIRCR中配置。

抢占优先级&响应优先级的区别

高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。

抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。

抢占优先级相同的中断,当两个中断相同时发生的情况下,哪个响应优先级高,哪个先执行。

如果连个中断的抢占优先级和响应优先级都一样的话,则看哪个中断先发生就执行。

特别说明:一般情况下,系统代码执行过程中,只设置一次中断优先级分组,比如分组2,设置好分组后一般不会再改变分组。随意改变分组会导致中断管理混乱,程序出现意想不到的执行结果。

 中断优先级分组函数

 中断参数初始换函数

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号