当前位置: 首页 > ds >正文

嵌入式学习笔记- freeRTOS 带FromISR后缀的函数

FreeRTOS中带FromISR后缀的函数 是用于中断的函数,它有两个特点

一个是无等待延时,

一个是无立刻触发任务切换,

那么

一 为什么中断中不能等待(阻塞)?

因为中断中等待的,一般都是任务给予的,比如消息队列,信号量,而isr中断运行优先级又高于任何任务,要尽早结束中断让系统任务运行起来才有可能尽可能快的得到想要的消息,不然任务中断都会很被动的运行甚至拖死,任务得不到运行发不出消息,中断得不到消息

二 为什么中断中不能使用port YIELD立即触发任务切换的语句?而要放到中断结束位置?

其实没有必须,只是因为合适,中断中不可能进行任务切换,放在中间也可以但是也不会立即切换,放在末尾能够确保中断尽快完整的运行结束,确保对信号量消息队列的关键操作全部完成再判断是否进行切换,比较符合逻辑,
而且不放的话系统只能等到systick中断使能切换,又不符合实时性。

另外cortexM之外的有些架构这个语句可能会直接切换任务而不是等到pendsv来执行?可能造成上下文混乱,这个只是猜测,这个问题有答案的欢迎留言

http://www.xdnf.cn/news/12692.html

相关文章:

  • 打卡day46
  • 【leetcode】3. 无重复字符的最长子串
  • 变频串联谐振试验技术解析
  • 【python基础知识】变量名和方法名的单下划线(_)和双下划线(__)总结
  • Unity基础-数学向量
  • 无刷电机的驱动MOSFET
  • Windows安装 cityflow
  • 超声波清洗设备的清洗效果如何?
  • Python 3.11.9 安装教程
  • 视频监控平台建设方案
  • 数据结构之LinkedList
  • RetroMAE 预训练任务
  • 字符串加密(华为OD)
  • Mathematica 打印输出时,隐藏 In[n] 和 Out[n] 标签
  • 【51单片机】1. 基础点灯大师
  • Splash动态渲染技术全解析:从基础到企业级应用(2025最新版)
  • echarts树状图与vue3
  • Kubernetes 从入门到精通-label标签
  • 山东大学算法设计与分析复习笔记
  • 多模态+空间智能:考拉悠然以AI+智慧灯杆,点亮城市治理新方式
  • C#实现Stdio通信方式的MCP Server
  • 高级网络工具包用户操作指南
  • Linux 中替换文件中的某个字符串
  • 如何调控gpu训练参数
  • 优选算法第十二讲:队列 + 宽搜 优先级队列
  • 深度学习在RNA分子动力学中的特征提取与应用指南
  • 每日互动方毅:数据要素价值在于流转,用好AI的前提是用好数据 | 爱分析访谈
  • [蓝桥杯]版本分支
  • AI 模型分类全解:特性与选择指南
  • 鸿蒙开发:loading动画的几种实现方式