STM32——FreeRTOS - 中断管理*
STM32——学习总纲-CSDN博客一、什么是中断二、中断优先级分组设置最大 256个中断优先级一般芯片厂家用不到这么多优先级。这四位又分为 抢占 优先级 和 子 优先级由中断优先级分组设置中断优先级分组设置Free RTOS为了方便管理统一使用 Group_4的方式全部优先级设为抢占优先级。特点三、中断相关寄存器系统寄存器每个寄存器32bit中断屏蔽寄存器这里的 0x50是因为ST芯片第四位不用所以赋值优先级5放到高四位实现方式#define portDISABLE_INTERRUPTS() vPortRaiseBASEPRI() static portFORCE_INLINE void vPortRaiseBASEPRI( void ) { uint32_t ulNewBASEPRI configMAX_SYSCALL_INTERRUPT_PRIORITY; __asm { /* Set BASEPRI to the max syscall priority to effect a critical * section. */ /* *INDENT-OFF* */ msr basepri, ulNewBASEPRI dsb isb /* *INDENT-ON* */ } }BASEPRI 设置为 0x50简单记忆**************************************************************************************************************FreeRTOS 如何 “管理” 被 BASEPRI 屏蔽、硬件挂起的中断完整流程进入临界区设置 BASEPRI屏蔽低于阈值的普通中断中断触发后 NVIC 自动置 PENDING 挂起请求不会丢失仅延后执行。退出临界区清 BASEPRI 屏蔽CPU 按优先级依次处理所有挂起中断。该类中断优先级低于configMAX_SYSCALL_INTERRUPT_PRIORITY允许调用FromISR内核接口高优先级中断不受 BASEPRI 屏蔽禁止操作 RTOS 内核。若中断唤醒更高优先级任务不会立刻切换仅置位 PendSV 挂起标志。全部挂起中断执行完毕后进入 PendSV 中断由 FreeRTOS 完成上下文切换与任务调度。补充总结中断挂起是硬件 NVIC 机制FreeRTOS 只负责管控中断内内核操作、延迟调度保证临界区内核数据不被破坏。1、硬件层不由 RTOS 控制中断来了自动挂起是 NVIC 硬件行为RTOS 只是配置 BASEPRI 阈值来控制屏蔽范围2、调度处理层完全由 RTOS 管理划定可使用内核 API 的中断范围中断调用 FromISR API 唤醒了一个优先级比当前运行任务更高的任务时依靠 PendSV 延迟切换统一处理所有临界区放行后批量到来的挂起中断保证内核数据安全、任务调度有序3、总结执行 taskEXIT_CRITICAL 清零 BASEPRI 后 FreeRTOS 才统一处理调度这些被挂起的中断。**************************************************************************************************************四、FreeRTOS中断管理实验五、课堂总结

相关新闻

我把 AI 最容易改坏真实 App 的地方,整理成了 skills

我把 AI 最容易改坏真实 App 的地方,整理成了 skills

1. 引言AI 代码助手(如 Claude Code、Cursor、Copilot)正在改变我们的开发方式。但在真实项目中,AI 生成的代码往往会在一些「看起来没问题」的地方埋下隐患。本文把我踩过的坑和团队总结的经验整理成一套可复用的 skills,帮助你在…

2026/10/28 9:49:59 阅读更多 →
ShaderGraph法线Z值重建:原理、应用与故障排查指南

ShaderGraph法线Z值重建:原理、应用与故障排查指南

1. 项目概述:为什么我们需要重建法线的Z值?在ShaderGraph的日常开发中,尤其是处理从外部导入的模型或进行一些特殊的图像处理时,我们经常会遇到一个看似简单却暗藏玄机的问题:你手上的法线贴图,可能只有X和…

2026/11/1 21:30:46 阅读更多 →
装闭 RenoPit 源码解析(03):AI装修项目的创建、复制与删除流程

装闭 RenoPit 源码解析(03):AI装修项目的创建、复制与删除流程

在装闭 RenoPit 中,用户不是直接上传一批文件并调用 AI,而是先创建“装修项目”,再围绕项目管理素材和分析结果。本篇对照开源仓库 fthux/RenoPit,从 React 页面一路追踪到 FastAPI 和 SQLAlchemy。 一、项目列表是业务入口 Pro…

2026/11/1 1:58:21 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/2 0:25:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/2 10:46:11 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/2 10:47:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/2 1:16:51 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/2 10:46:31 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/2 10:46:26 阅读更多 →

日新闻

周新闻

月新闻