FreeRTOS临界段代码保护

临界段代码保护简介

临界区是指那些必须完整运行的区域,在临界区中的代码必须完整运行,不能被打断。

适合场合

  • 外设:需要严格按照时序初始化的外设,比如IIC,SPI等等
  • 系统:系统自身需求
  • 用户:用户需求

临界段代码保护函数基础 

FreeRTOS 在进出临界区的时候,通过关闭和打开受 FreeRTOS 管理的中断,以保护临界区中的代码。(临界段总结就是开关中断)


两种临界区保护函数使用示例如下,中断需要定义一个值保存中断屏蔽寄存器之前的值,在后续退出临界区后将寄存器值设置回去。

注:临界区保护函数都是成对出现(有关就有开),且我们应该尽量保持临界区耗时短一点。

临界段源码的分析,最终的操作其实就是进入临界区时关闭中断,并且进行计算进入次数;同理,退出临界段则是打开中断,并且判断是否退出次数是否和进入次数一样,一样才可以退出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值