FreeRTOS临界段

2023-11-17

1:临界段

在访问共享资源时不希望被其他任务或者中断打断的代码
这段要执行的代码称为临界段代码

2:设置临界段的目的

保护共享资源:
	例如,全局变量,公共函数,不可重入函数(函数里面使用
	了一些静态全局变量,malloc 等)
保护外设的实时性:
	对时序有精准要求的操作
用户不想被打断的代码

3:M4使用临界段注意事项

{	开启临界段实际上内部调用的taskDISABLE_INTERRUPUTS( );//关闭中断
	但是仅仅只能关闭优先级低于 configMAX_SYSCALL_INTERRUPUT_PRIORITY这个的中断,
	并且此接口不可嵌套
	taskENABLE_INTERRUPUTS( );//开启中断 }

{ taskENTER_CRITICAL(void );次函数才是进入临界段的函数
支持嵌套,任务在运行态内被调用,不被中断打断,一直处于运行状态
有进入必须要有退出,成对出现
需要保证临界段执行周期比较快,否则影响中断和调度器工作 }

taskEXIT_CRITICAL(void );退出临界段,此函数不能在中断中使用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FreeRTOS临界段 的相关文章

随机推荐

  • springBoot service 事务注解@Transactional不起作用的解决

    在springBoot使用事物时 发现事务并没有正常执行 没有进行回滚 Transactional public void add String companyName String name throws MyException comp
  • C++模板全特化(具体化)与偏特化(部分具体化)详解(转)

    1 模板简介 模板就是实现代码重用的一种机制 它可以实现类型参数化 即把类型定义为参数 从而实现了真正的代码可重用性 模板编程和函数重载可以实现C 静态多态 也叫编译时多态 模版可以分为两类 一个是 函数模版 另一个是 类模版 2 模板特化
  • 利用Vulnhub复现漏洞 - OpenSSH 用户名枚举漏洞(CVE-2018-15473)

    OpenSSH 用户名枚举漏洞 CVE 2018 15473 Vulnhub官方复现教程 漏洞原理 复现过程 启动环境 漏洞复现 CVE 2018 15473 Exploit Vulnhub官方复现教程 https vulhub org e
  • Option类型:C++(std::optional)、Rust(Option)、Go(gob.OptionalValue)

    当我们在实现一个函数 fn point 该函数会有返回的point指针有可能是null 那么函数的调用者必须显示的进行判断 避免出现null point引发的程序崩溃 Rust作为强调系统安全的语言 自然是从语言层面上给予了开发者莫大的帮助
  • 2020年集五福攻略:集五福不再难搞

    2020年的春节就要到了 让人期待的支付宝集五福活动也会随之而来 那么 2020支付宝集五福什么时候开始 支付宝的集福卡活动不是第一届了 2017年的支付宝集五福是1月18日开始 2018年的支付宝集五福是2月6日开始 2019年支付宝集五
  • XSS攻击实战

    一 XSS原理与分类 原理 XSS攻击全程跨站脚本攻击 恶意攻击者往Web页面里插入恶意Script代码 当用户浏览该页之时 嵌入其中Web里面的Script代码会被执行 从而达到恶意攻击用户的目的 与SQL注入类似 XSS也是利用提交恶意
  • 每个程序员都该学习的5种开发语言,不可错过!

    每个公司都喜爱精通多种编程语言并且多才多艺的程序员 一个既能很麻利地写脚本 也能编写复杂的Java程序的程序员 确实相当有价值 所以实际上 对于高级开发者来说 学习不止一种编程语言 几乎就是必然的要求 目前而言 面试官越来越看重那些拥有多种
  • 抢小米手机K40脚本

    声明 基于 puppeteer js 仅辅助更快操作浏览器 本脚本仅供米粉购买小米系列产品 请勿充当黄牛 代码地址 https github com shunyue1320 buy xiaomi
  • 应用层 —— 电子邮件

    一 电子邮件的信息格式 二 系统结构 三 SMTP
  • Meta标签中的apple-mobile-web-app-capable属性及含义

    这meta的作用就是删除默认的苹果工具栏和菜单栏 content有两个值 yes 和 no 当我们需要显示工具栏和菜单栏时 这个行meta就不用加了 默认就是显示
  • 内置数据库

    DERBY 完全使用java 开发 可以在任何存在合适的 Java 虚拟机的地方运行 不适用于在其他编程语言内置使用 HSQLDB Java内置的数据库 非常适合在用于快速的测试和演示的Java程序中 无需独立安装数据库 HSQLDB有三种
  • 编译原理LL(1)文法之提取左公因子,消除左递归

    在判断LL 1 文法是否符合的时候 需要判断LL 1 文法是否存在左公因子 和左递归的情况 以下给出相应的判断方法以及通过提取左公因子和消除左递归使非LL 1 文法转换为LL 1 法的方法 第一种情况 存在左公因子 解决方法 提取左公因子
  • 恶魔奶爸沟通课

    01社交本质上是精力问题 1 神奇女侠式 双脚分开 与肩同宽 挺胸抬头 双手叉腰 站立120秒 让自己舒服很多 2 深呼吸 3 适度运动 每周160分钟 4 睡眠 晚上10点半睡觉 早上6点起床 5 不要久坐 坐20分钟起来走走 哪怕30秒
  • uniapp 使用uni-combox组合框实现远程搜索功能

    目录 一 绑定属性 二 js方法 一 绑定属性
  • 串口通信——接收串口数据并处理(C语言)

    本文主要内容包含 1 接收串口数据程序的编程逻辑示意图 2 接收串口数据程序要用到的通用函数模块 可直接引用 无需更改 3 接收串口数据程序的示例 1 接收串口数据程序的编程逻辑示意图 2 与串口有关的函数模块及数组 可直接引用到自己的程序
  • BUAA计算器(表达式计算-表达式树实现)

    问题描述 从标准输入中读入一个整数算术运算表达式 如24 1 2 36 6 2 2 12 2 2 计算表达式结果 并输出 要求 1 表达式运算符只有 表达式末尾的 字符表示表达式输入结束 表达式中可能会出现空格 2 表达式中会出现圆括号 括
  • 实战剖析 Java 秒杀系统的实现

    本场 Chat 将为您介绍 如何从 0 到 1 搭建一个分布式架构的秒杀系统 如何利用 Redis 的特性发挥它在秒杀系统中的大作用 如何利用消息队列实现请求的异步处理 带您思考实现秒杀系统过程中需要注意的点 以及需要掌握的技巧 架构介绍
  • 我与CSDN的这十年——笔耕不辍,青春热血

    1024程序员的节日就要来了 作者也挤时间写了一篇文章 我与CSDN的这十年 分享下程序猿和程序媛的故事 纪念这十年奋斗和感动的日子 十年 说长不长 说短不短 人生进度条的八分之一 都是青春 都是热血 十年 从看博客到写博客 笔耕不辍 从未
  • ubuntu密码正确,却不能登录图形界面

    传统的方法是修改 Xauthority文件权限 不过我试了没有用 后来发现我的问题是因为安装了NVIDIA cuda驱动而导致的 所以先卸载nvidia驱动 再更新 就可以正常进入了 命令 sudo apt get remove purge
  • FreeRTOS临界段

    1 临界段 在访问共享资源时不希望被其他任务或者中断打断的代码 这段要执行的代码称为临界段代码 2 设置临界段的目的 保护共享资源 例如 全局变量 公共函数 不可重入函数 函数里面使用 了一些静态全局变量 malloc 等 保护外设的实时性