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/7/21 5:40:09 阅读更多 →
ShaderGraph法线Z值重建:原理、应用与故障排查指南

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

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

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

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

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

2026/7/21 5:40:09 阅读更多 →

最新新闻

AI副业启动指南:5步搭建零门槛自动化收入流,今天部署明天见收益

AI副业启动指南:5步搭建零门槛自动化收入流,今天部署明天见收益

更多请点击: https://codechina.net 第一章:AI副业启动指南:5步搭建零门槛自动化收入流,今天部署明天见收益 无需编程经验、不依赖平台审核、不囤货不发货——只需一台能联网的电脑,5分钟完成首个自动化收入节点。本…

2026/7/21 15:15:20 阅读更多 →
TorchMetrics终极指南:如何用专业指标库提升你的PyTorch模型评估效率

TorchMetrics终极指南:如何用专业指标库提升你的PyTorch模型评估效率

TorchMetrics终极指南:如何用专业指标库提升你的PyTorch模型评估效率 【免费下载链接】torchmetrics Machine learning metrics for distributed, scalable PyTorch applications. 项目地址: https://gitcode.com/gh_mirrors/to/torchmetrics 在机器学习项目…

2026/7/21 15:15:20 阅读更多 →
如何用Anomaly-Transformer实现时间序列异常检测的SOTA性能:完整指南

如何用Anomaly-Transformer实现时间序列异常检测的SOTA性能:完整指南

如何用Anomaly-Transformer实现时间序列异常检测的SOTA性能:完整指南 【免费下载链接】Anomaly-Transformer About Code release for "Anomaly Transformer: Time Series Anomaly Detection with Association Discrepancy" (ICLR 2022 Spotlight), https:…

2026/7/21 15:15:20 阅读更多 →
SKTagView高级定制教程:从基础样式到复杂交互的完整实现

SKTagView高级定制教程:从基础样式到复杂交互的完整实现

SKTagView高级定制教程:从基础样式到复杂交互的完整实现 【免费下载链接】SKTagView 项目地址: https://gitcode.com/gh_mirrors/sk/SKTagView SKTagView是一个功能强大的iOS标签视图库,专为iOS应用开发者设计,提供灵活高效的标签展示…

2026/7/21 15:15:20 阅读更多 →
如何用彩虹括号插件提升代码阅读效率:终极Vim配色指南

如何用彩虹括号插件提升代码阅读效率:终极Vim配色指南

如何用彩虹括号插件提升代码阅读效率:终极Vim配色指南 【免费下载链接】rainbow Rainbow Parentheses Improved, shorter code, no level limit, smooth and fast, powerful configuration. 项目地址: https://gitcode.com/gh_mirrors/rainb/rainbow 还在为复…

2026/7/21 15:15:20 阅读更多 →
嵌入式实时系统ADC序列转换与DMA高效数据采集实战解析

嵌入式实时系统ADC序列转换与DMA高效数据采集实战解析

1. 项目概述与核心价值 在嵌入式实时控制系统的开发中,尤其是电机驱动、数字电源、精密仪器这些对实时性要求苛刻的领域,数据采集的效率直接决定了整个系统的性能天花板。我们常常需要同时监控多个关键的模拟量,比如三相电流、母线电压、温度…

2026/7/21 15:14:20 阅读更多 →

日新闻

Octane Render与C4D汉化版安装与优化指南

Octane Render与C4D汉化版安装与优化指南

1. Octane Render与C4D的黄金组合:为什么选择这个方案?在三维创作领域,渲染器的选择往往决定了作品的最终呈现质量和工作效率。作为Cinema 4D(C4D)用户,Octane Render的GPU加速特性与实时预览功能&#xff…

2026/7/21 0:00:19 阅读更多 →
GPMC接口设计:异步/同步模式与多路复用配置实战

GPMC接口设计:异步/同步模式与多路复用配置实战

1. GPMC接口设计:从硬件连接到软件配置的全局视角在嵌入式系统开发中,尤其是基于TI Sitara系列如AM263x这类高性能微控制器的项目里,外部存储器的扩展几乎是绕不开的一环。无论是存放大量非易失性代码的NOR Flash,还是作为高速数据…

2026/7/21 0:00:19 阅读更多 →
UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

1. 项目概述:UE5 GAS RPG被动技能的核心价值在UE5里用GAS(Gameplay Ability System)做RPG游戏,主动技能像是你手里的武器,按一下打一下,逻辑直接,反馈也快。但被动技能,它更像是你身…

2026/7/21 0:00:19 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻