首页 > 其他分享 >STM32的优先级的理解及其使用

STM32的优先级的理解及其使用

时间:2022-10-19 20:01:53浏览次数:80  
标签:NVIC 优先级 中断 STM32 响应 理解 抢占 取值

 


有组0~4。同时对每一个中断设置一个抢占优先级和一个响应优先级值。
分组配置是在寄存器SCB->AIRCR中配置:
SCB->AIRCR为111,就是0位抢占,4位响应

中断优先级表格

 

 

NVIC中断优先级分组列表
优先级分组                 抢占优先级     响应优先级        高4bit分配情况
NVIC_PriorityGroup_0       取值:0        取值:0~15       0bit抢占优先级、4bit响应优先级
NVIC_PriorityGroup_1    取值:0~1    取值:0~7          1bit抢占优先级、3bit响应优先级
NVIC_PriorityGroup_2    取值:0~3    取值:0~3         2bit抢占优先级、2bit响应优先级
NVIC_PriorityGroup_3    取值:0~7    取值:0~1         3bit抢占优先级、1bit响应优先级
NVIC_PriorityGroup_4    取值:0~15  取值:0           4bit抢占优先级、0bit响应优先级

注意事项:
 ① 在底层配置前先设置中断优先级分组 → void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);

 ②整个系统执行过程中,只设置一次中断分组;

 ③NVIC_PriorityGroupConfig只是对一个寄存器操作。多次操作以最后一次设置为准;

 ④针对每个中断,设置对应的抢占优先级和响应优先级;

 ⑤如果不设置中断优先级分组,则中断优先级分组默认为0,即0位抢占优先级,4位响应优先级。

NVIC中断优先级的概念:
 STM系列的中断优先级分为两级,抢占优先级和响应优先级。两者关系如下:

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

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

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

   4、 如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行;


重点:
 ①先比较抢占优先级,再比较响应优先级;

 ②抢占优先级和响应优先级中,数字越小说明级别越高。

 ③抢占优先级和响应优先级都相同,则比较它们的硬件中断编号,中断编号越小,优先级越高。
  (中断编号可以在中断向量表中查看)


举个例子:
 假定设置中断优先级组为2,然后设置 →

   1、 中断1(RTC中断) 的抢占优先级为2,响应优先级为1。

   2、 中断6(外部中断0)的抢占优先级为3,响应优先级为0。

   3、 中断4(外部中断1)的抢占优先级为2,响应优先级为0。

 则中断优先级为中断4>中断1>中断6.

标签:NVIC,优先级,中断,STM32,响应,理解,抢占,取值
From: https://www.cnblogs.com/piaoyidianhong/p/16807552.html

相关文章

  • 宋宝华: 关于Linux进程优先级数字混乱的彻底澄清
    找了好久终于找到你了,这是网上关于优先级描述最清晰的一个帖子。没有之一。必须转发。                所以从上面的描述来说,先是区分调......
  • 深入理解Linux文件系统与日志分析
    一、inode与block1、inode与block概述1)bolck(块)①、连续的八个扇区组成一个block(4K)②、是文件存取的最小单位2)inode(索引节点)①、中文译名为“索引节点”,也叫i节点②......
  • ARM 笔记(1019)-- STM32部分--15 通用定时器的输出比较
    12.7通用定时器的输出比较我们不用滴答时钟,不用延时法,能不能实现呼吸灯?在工业控制中,很多场合需要产生PWM信号,那PWM信号如何产生?我们可以用定时器的输出比较功能实现上述......
  • 学习和思考:“深刻理解”的涵义
    “深刻理解”的涵义    “深刻理解”,是指彻底了解一个事件。 应该怎么做,才能实现“深刻理解”?“深刻理解”,包含两层含义。其一,纵向理解事件;即探索事件......
  • 深度理解Redux原理并实现一个redux
    Redux的作用是什么Redux的作用在于实现状态传递、状态管理。在这里你可能会说了,如果是状态传递,那我props的传递不也是可以达到这样的效果吗?context上下文方案不也是可以达......
  • 深入理解 ZooKeeper的ACL实现
    2020-02-08补充流程图如果对您有帮助,欢迎点赞支持,如果有不对的地方,欢迎指出批评什么是ACL(AccessControlList)zookeeper在分布式系统中承担中间件的作用,它管理的每......
  • 深入理解 ZooKeeper客户端与服务端的watcher回调
    2020-02-08补充本篇博文所描述的watcher回调的流程图watcher存在的必要性举个特容易懂的例子:假如我的项目是基于dubbo+zookeeper搭建的分布式项目,我有三个功能相同的服......
  • 个人理解【一】【Spring Security5.7】
    1.SpringSecurity的默认实现分析根据url分配到不同的Filter。UsernamePasswordAuthenticationFilter对默认的表单登录进行处理BasicAuthenticationFilter对HttpB......
  • 08. STM32按键检测
    ......
  • 关于内存计算的不成熟的理解
    关于内存计算的不成熟的理解说明自己其实没有做过大数据内存计算方面的工作.仅是对硬件知识有一些了解.想着简单描述一下自己所理解的内存计算.可能有多偏颇的地方.......