- 2
- 0
- 约 7页
- 2017-01-12 发布于重庆
- 举报
Stm32中断优先级相关概念与使用笔.
Stm32中断优先级相关概念与使用笔记
一、基本概念
1.ARM cortex_m3内核支持256个中断(16个内核+240外部)和可编程256级中断优先级的设置,与中断控制核中断优先级控制的寄存器(NVIC、SYSTICK等)属于cortex_m3内核的部分。STM32采用了cortex_m3内核,所以这些部分仍旧保留使用,但并不是完全使用的,只是使用了一部分。
2.STM32目前支持的中断共为84个(16个内核+68个外部),和16级可编程中断优先级的设置(仅使用中断优先级设置8bit中的高4位,见后面解释)。《参考最新101xx-107xx STM32 Reference manual, RM0008》。
以下主要对外部中断进行说明。
3.68个外部中断(通道)在STM32中已经固定的分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节PRI_n(8位,但在STM32中只有高4位有效),每4个通道的8位中断优先级控制字(PRI_n)构成一个32位的优先级寄存器(Priority Register)。68个通道的优先级寄存器至少有是17个32位的寄存器,它们是NVIC寄存器的一部分。
4.这4bit的中断优先级控制位还要分成2组看,从高位开始,前面的定义抢先式优先级,后面为子优先级。4bit的组合可以有以下几种形式:
编 号 分配情况 7 0:4 无抢先式优先级,16个子优先级 6 1:3 2个抢先式优先级,8个子优先级 5 2:2 4个抢先式优先级,4个子优先级 4 3:1 8个抢先式优先级,2个子优先级 3/2/1/0 4:0 16个抢先式优先级,无子优先级
5.在一个系统中,通常只使用上面5种分配情况的一种,具体采用哪一种,需要在初始化时写入到一个32位寄存器AIRC(Application Interrupt and Reset Control Register)的第[10:8]这2个位中。这3个bit位有专门的称呼:PRIGROUP(具体写操作后面介绍)。比如你将0x05(上表的编号)写到AIRC的[10:8]中,那么也就规定了你的系统中只有4个抢先式优先级,相同的抢先式优先级下还可以有4个不同级别的子优先级。
6.AIRC中PRIGROUP的值规定了设置和确定每个外部中断通道优先级的格式。例如,在上面将0x05写入了AIRC中PRIGROUP,也就规定了当前系统中只能有4个抢先式优先级,相同的抢先式优先级下还可以有4个不同级别的子优先级,他们分别为:
位[7:6] 位[5:4] 位[3:0] 00 0号抢先优先级 00 0号子优先级 无效 01 1号抢先优先级 01 1号子优先级 无效 10 2号抢先优先级 10 2号子优先级 无效 11 3号抢先优先级 11 3号子优先级 无效 7.如果在你的系统中使用了TIME2(中断通道28)和EXTI0(中断通道6)两个中断,而TIME2中断必须优先响应,而且当系统在执行EXIT0中断服务时也必须打断(抢先、嵌套),就必须设置TIME2的抢先优先级比EXTI0的抢先优先级要高(数目小)。假定EXTI0位2号抢先优先级,那么TIME2就必须设置成0或1号抢先优先级。这些工作需要在AIRC中PRIGROUP后进行设置。
8.具体优先级的确定和嵌套规则。ARM cortex_m3(STM32)规定
a/ 只能高抢先优先级的中断可以打断低抢先优先级的中断服务,构成中断嵌套。
b/ 当2(n)个相同抢先优先级的中断出现,它们之间不能构成中断嵌套,但STM32首先响应子优先级高的中断。
c/ 当2(n)个相同抢先优先级和相同子优先级的中断出现,STM32首先响应在该中断通道向量地址低的中断(ROM0008,表52)。
具体一点:
0号抢先优先级的中断,可以打断任何中断抢先优先级为非0号的中断;1号抢先优先级的中断,可以打断任何中断抢先优先级为2、3、4号的中断;…..构成中断嵌套。
如果两个中断的抢先优先级相同,谁先出现,就先响应谁,不构成嵌套。如果一起出现(或挂在那里等待),就看它们2个谁的子优先级高了,如果子优先级也相同,就看它们的中断向量位置了。
9.上电RESET后,AIRC中PRIGROUP[10:8],因此此时系统使用16个抢先优先级,无子优先级。另外由于所有外部中断通道的优先级控制字PRI_n也都是0,所以根据上面的定义可以得出,此时68个外部中断通道的抢先优先级都是0号,没有子优先级的区分。故此时不会发生任何的中断嵌套行为,谁也不能打断当前正在执行的中断服务。当多个中断出现后,则看它们的中断向量地址:地址越低,中断级别越高,STM32优先响应。注意:此时内部中断的抢先优先级也都是0号,由
您可能关注的文档
- ST1002型龙门移动式双主轴数控镗铣床简介-斗杆-1007..doc
- ST2000B电缆故障检测仪..doc
- st400st500地址表..doc
- ST458Ⅲ高压锅炉管规格..doc
- STA449C操作向导..doc
- staad应用要点..doc
- stainless_steel..doc
- staadpro软件介绍..doc
- standardbenchmarkenergyconsumptionvalue..doc
- standardinChinese标准(正文)--中文..doc
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
最近下载
- 分析palantir对象模型shreyas phpapp01.pptx VIP
- 班子成员之间的相互批评意见.docx VIP
- 广发宏观分析报告:居民活动收支表的构建、分析与运用.pdf VIP
- Palantir公司调研报告.pptx VIP
- 汉川XH715D立式加工中心机使用说明书.pdf VIP
- 数学丨重庆市2026届高三上学期1月康德高考模拟调研卷(一)试卷及答案.pdf VIP
- 贵州省贵阳市普通中学2022-2023学年高三上学期期末语文(解析版).docx VIP
- 化工老旧装置淘汰退出和更新改造工作方案.docx VIP
- 培智六年级生活数学期末试卷ABC卷.doc VIP
- 港口机械钢结构制造规范.pdf VIP
原创力文档

文档评论(0)