1、临界段代码保护的简介:
临界段代码就是指临界区,是指那些必须完整运行,不能被打断的代码段。
适用场合:
- 外设:需要严格按照时序初始化的外设:IIC、SPI等;
- 系统:系统自身需求;
- 用户:用户需求。
FreeRTOS在进入临界段代码时需要关闭中断,当处理完临界段代码以后再打开中断。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5e19cd07dc36436da5f98fb80f9c486a.jpeg)
2、任务调度器的挂起与恢复:
挂起任务调度器,调用此函数不需要关闭中断。
![在这里插入图片描述](https://img-blog.csdnimg.cn/08cebdb3a06c478f9f8729872f76cd88.jpeg)
- 与临界区不同的是,挂起任务调度器,未关闭中断;
- 它仅仅是防止任务之间的资源争夺,中断照样可以直接响应;
- 挂起调度器的方式,适用于临界区位于任务与任务之间;既不用去延时中断,又可以做到临界区安全。