STMCU小助手
发布时间:2022-2-5 00:00
|
CM3内核有16个中断, 优先级通过 SCB->SHP[0] to SCB->SHP[11] 设置
STM32最多有240个中断(通常外部中断写作IRQs): 优先级通过 NVIC->IP[0] to NVIC->IP[239] 设置
STM32用户能分配的优先级有16级, 也就是用优先级寄存器NVIC->IP[x]的高四位来表示
在STM32中将一个中断的优先级分为 : 抢占优先级和响应优先级。上述的4个bit可以灵活分配给抢先优先级和响应优先级 抢占优先级(pre-emption priority) 高抢占优先级的中断会打断当前的主程序/中断程序运行, 俗称中断嵌套 响应优先级(subpriority) 在抢占优先级相同的情况下, 高响应优先级的中断优先被响应 ( 但是不能嵌套 ) 如果有低响应优先级中断正在执行, 高响应优先级的中断要等待已被响应的低响应优先级中断执行结束后才能得到响应 优先级处理 优先级数值较小的优先级较高, 优先级0x00 有最高的优先级, 优先级0xF0 有最低的优先级 在进行优先级判断的时候先是比较抢占优先级, 然后比较响应优先级。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系, 当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。 如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个; 如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。
|
【福利三:逢7发帖赢大礼】4、基于STM32G070板子SPI flash 移植SFUD库
【福利三:逢7发帖赢大礼】基于STM32G070板子的uart shell移植设计
【福利三:逢7发帖赢大礼】3、基于STM32G070板子的YModem串口协议通信
【福利三:逢7发帖赢大礼】2、基于STM32G070板子的OLED移植U8G2库
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
STM32G0 系列 I2C 通信异常典型案例分析与解决方案总结
经验分享 | LAT1490 两个STM32G0 I2C 通信异常的案例分析
经验分享 | STM32G0 I2C bootloader Go 命令后调试连接失败:DBG_SWEN 位复位修复
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
微信公众号
手机版