首页 > 其他分享 >临界区保护

临界区保护

时间:2024-06-06 09:30:50浏览次数:14  
标签:rt level 中断 保护 临界 线程 I2C

1. 临界区的保护实际应用中可能需要的场合:

调用公共函数的代码(不可重入函数)
读取或者修改变量(全局变量)
使用硬件资源(MCU的ram、flash、uart、spi、adc等)
对时序有精准要求的操作(I2C通讯)
某些用户不想被打断的代码(比如 printf 打印),串口接收的状态、接收中断重新开启等操作

2. 临界区保护方法:

在实时操作系统(RTOS)中操作I2C通常涉及到多任务/中断环境,因此需要确保I2C的使用是线程安全的。关闭中断和使用互斥量是两种常见的方法来确保线程安全。RT-Thread中提供了多种保护临界区的方法,具体分为以下几类

(1) 禁用系统调度器 ,中断可以响应
rt_enter_critical();   //将线程调度器上锁,此时线程调度器仅能响应中断
/* 以下进入临界区 */
 . . . .
/*临界区执行完成*/
rt_exit_critical();  //调度器解锁
(2)禁用中断

关闭中断通常用于确保在执行I2C传输时不会被其他中断打断。但是,这种方法应谨慎使用,因为它会影响系统的实时性。
rt_base_t level; //创建变量以使用中断关闭和中断开启函数
level = rt_hw_interrupt_disable(); //中断关闭函数
/* 以下是临界区*/
. . . .
rt_hw_interrupt_enable(level); 中断开启函数

标签:rt,level,中断,保护,临界,线程,I2C
From: https://blog.csdn.net/lljss1980/article/details/139469722

相关文章

  • 如何合理利用数据外发管控平台,保护重要图纸的知识产权?
    在企业业务开展过程中,数据外发成为越来越普遍的数据交换场景。在机械制造业的生产过程中,设计图纸扮演着非常重要的角色,制造企业与合作单位的图纸文件交流频繁,会为数据交换过程带来风险。是否有统一的数据外发管控平台,让设计图纸能安全、高效地流转和使用,成为制造企业所关心的重要......
  • 乡村振兴的乡村生态文明建设:加强乡村生态环境保护,推进乡村绿色发展,打造生态宜居的美丽
    目录一、引言二、乡村生态环境保护的必要性三、加强乡村生态环境保护的措施(一)完善法律法规,强化制度保障(二)加强宣传教育,提高环保意识(三)推广生态农业,减少农业面源污染(四)加强水源保护,保障饮水安全(五)开展生态修复,恢复乡村生态功能四、推进乡村绿色发展的路径(一)发展绿色产......
  • linux信号集与信号掩码-保护信号处理程序,确保进程正确运行
    在Linux环境下,当进程收到信号时,如何优雅地处理并确保程序的正常运行?这就需要借助信号集和信号掩码的功能。本文将为你揭开信号集和信号掩码的神秘面纱,并通过生动的代码示例,让你彻底掌握在C++程序中使用它们的技巧。一、信号集:表示信号的数据结构信号集(signalset)是......
  • 数据安全,从加密做起:企业保护数据的妙招
    在数字化时代,企业数据安全至关重要。加密技术是保护企业数据不被未授权访问的有效手段。数据安全的紧迫性数据泄露途径多样,包括黑客攻击、内部泄露、设备丢失等。这些泄露事件不仅带来经济损失,还会损害企业声誉和客户信任。加密技术的核心价值加密技术通过将数据转换成难以解......
  • Coolmuster iOS 数据擦除:隐私保护的终极方案
    手机和平板电脑是我们不可或缺的伙伴,它们存储着我们的照片、联系人、私人消息以及工作文件。然而,当这些设备需要更换或者出售时,如何确保存储在其中的数据不被他人恢复和滥用,成为了一个严峻的问题。CoolmusteriOS数据擦除,一款专为iOS用户设计的应用程序,提供了一种安全、彻底的......
  • 企业文件加密:数据保护的实战策略
    数据是企业的生命线,保护数据安全就是保护企业的竞争力。在众多数据保护措施中,文件加密因其直接有效而备受青睐。一、为何文件加密至关重要在数字化办公时代,企业机密和敏感数据的泄露可能带来毁灭性的后果。文件加密能够确保即使数据被盗,也无法被未授权者访问或解读。二、文件......
  • 转子动力学系列(一):临界转速与坎贝尔图
    转子动力学为固体力学的分支。主要研究转子-支承系统在旋转状态下的振动、平衡和稳定性问题,尤其是研究接近或超过临界转速运转状态下转子的横向振动问题。转子是涡轮机、电机等旋转式机械中的主要旋转部件。运动方程为:1.例子如图刚性支撑单圆盘转子,圆盘质量m=20kg,半径R=1......
  • 如何通过文件外发管理系统,保护企业机密数据不外泄?
    随着企业信息化和数字化的不断推进,机密数据的安全问题愈发凸显其重要性。如何确保企业机密数据在外部传输过程中不被非法获取、泄露或滥用,成为了企业面临的一大挑战。FileLink文件安全外发管理系统以其卓越的安全性能和便捷的操作体验,为企业提供了有效的解决方案。一、FileL......
  • 企业如何利用智能防止截屏保护商业机密
    在数字化时代,企业商业机密的保护变得尤为重要。智能防止截屏技术作为一种先进的数据安全手段,能够帮助企业有效防止商业机密的泄露。本文将探讨企业如何利用这一技术保护其宝贵的商业信息。一、商业机密面临的威胁商业机密包括但不限于产品设计方案、客户列表、市场策略、财务信......
  • 即使在保存后也取消对工作表的保护
    请帮助我,10张纸中有2张一直处于保护状态。我想让它们完全不受保护,永远不受保护。我的代码如下NB:这两张纸是Recon2103&Recon2123:PrivateSubquickProt()PrivateSubquickProt()ActiveWorkbook.Worksheets中的每个工作表IfSheet.Name="Master"OrSheet.N......