视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519
本期视频教程为大家分享BSP驱动教程第12期
NVIC中断相关的问题,NVIC在项目设计中有着举足轻重的作用,特别是程序较复杂,且中断比较多时。
实际应用中推荐:中断越少越好,中断频率越低越好,任务之间耦合度越低越好
视频:
https://www.bilibili.com/video/BV1Ki4y1D7zG
本期视频主要分为如下几个部分:
第1部分:图形化实时展示NVIC分组,抢占优先级和子优先级。
(1)NVIC分组
(2)抢占优先级和子优先级
(3)各种优先级配置下,中断响应顺序。
第2部分:中断延迟
(1)含义:从中断触发到执行中断服务程序的第一条指令这段时间就是中断延迟时间。
(2)零中断延迟:并不是说中断延迟时间是0,而是中断触发后,延迟时间接近芯片特性的延迟时间。
第3部分:实战应用
(1)实战应用场景一:尽量不要使用全局开关中断,使用局部中断
(2)实战应用场景二:使用__set_PRIMASK(操作PRIMASK寄存器)做全局开关中断的地方,改用__set_BASEPRI(操作BASEPRI寄存器)
(3)实战应用场景三:降低中断服务程序执行时间。
第4部分:几十个中断时,中断动态优先级分配问题。
在不同优先级分配下,总有一个功能无法正常运行,而修改后,这个问题修复了,但又出现新的问题。所以就想搞搞动态分配,发现不实用,问题更多。
参数资料:
1、实战技能分享,减小开关中断对系统实时性的影响,提升系统响应速度
https://www.armbbs.cn/forum.php?mod=viewthread&tid=109927
2、链接:https://pan.baidu.com/s/1X84n-2lbXjBgOw8I_R3Bng 提取码:i3t8