大纲:
1. OSIntEnter()
2. OSIntExit()
3. OS_ENTER_CRITICAL() / OS_EXIT_CAITICAL()
1. OSIntEnter()
void OSIntEnter(void)
所属文件 | 调用者 | 开关量 |
OS_CORE.c | 中断 | N/A |
返回值 :无
参数说明:无
函数作用:
1). 把中断嵌套层数全局变量OSIntNesting + 1
源代码 :
2.OSIntExit()
void OSIntExit(void)
所属文件 | 调用者 | 开关量 |
OS_CORE.c | 中断 | N/A |
参数说明:无
函数作用:
1). 把中断嵌套层数全局变量OSIntNesting - 1;
2). 退出中断,返回优先级最高任务执行
源代码:
3. OS_ENTER_CRITICAL() / OS_EXIT_CAITICAL()
所属文件 | 调用者 | 开关量 |
OS_CPU.h | 中断 | N/A |
参数说明:无
函数作用:
1). OS_ENTER_CRITICAL():关闭中断
2). OS_EXIT_CRITICAL(): 打开中断
注意事项:
调用此宏时,需要定义OS_CRITICAL_METHOD的值,一般为1,2,3
1). OS_CRITICAL_METHOD = 1:直接使用处理器开中断和关中断指令来实现宏
2). OS_CRITICAL_METHOD = 2:利用堆栈保存和恢复CPU的状态
3). OS_CRITICAL_METHOD = 3:利用编译器扩展功能获得程序状态字,保存在局部变量cpu_sr