uCOS-II中断相关函数介绍

时间:2022-12-23 20:09:34

大纲:

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