OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
来源:互联网 发布:程序员充电站 编辑:程序博客网 时间:2024/04/28 07:13
这两个函数是uC/OS操作系统进入/退出“临界区”的功能代码,一般格式为:
OS_CPU_SR cpu_sr=0; ////(1)
OS_ENTER_CRITICAL();//(2)
..............
.(4)
.............
OS_EXIT_CRITICAL();///(3)
其中OS_ENTER_CRITICAL()就是关中断函数,而OS_EXIT_CRITICAL()就是开中断函数。
这几条命令代码的含义分别为:
(1)OS_ENTER_CRITICAL()和OS_EXIT_CRITIC()实现的方式是第三种:在关中断前,使用局部变量保存中断状态,所以需要先声明一个局部变量。
(2)作用是让ucos无法再执行任务调度,也就是执行(2)后,ucos处于关闭状态。
(3)区域用于处理比较连续的事情,不希望被ucos打断。
(4)用于恢复ucos的任务调度功能,重新开启ucos。
(1)的作用是让ucos无法再执行任务调度,也就是执行1之后,ucos处于关闭状态.
(2)区域用于处理比较连续的事情,不希望被ucos打断.
(3)用于恢复ucos的任务调度功能.重新开启ucos.
至于硬中断能否打断(2)的执行,就要看(1)里面是怎么做的 了.
0 0
- OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
- ucos OS_ENTER_CRITICAL
- ucos OS_ENTER_CRITICAL .
- . 和 ->
- || 和&&
- .和::
- “?”和“!”
- #和##
- && 和 ||
- 、和
- #和##
- .//和..//
- 和
- ?和\?
- ./ 和 ../
- #和##
- #、和##
- #和##
- linux 系统服务
- 基于oauth2.0的第三方登录实现
- Struts2的输入验证
- C/C++学习(六)线性表的插入、删除和查找
- python爬取返利网
- OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
- linux 系统登录日志
- Ajax帖子
- 文章标题
- CCF 201312-4 有趣的数(数位DP)
- LeetCode Longest Palindromic Substring
- CDH5.5上安装Rhadoop,RStudio server版初始化SparkR
- 【bzoj 4347】 [POI2016]Nim z utrudnieniem - 博弈论 DP
- leetcode -- Rotate Image -- 要看有trick