os_task.c

来自「8052小型操作系统, 用Keil C编译器, 能进行任务切换, 信号量管理.」· C语言 代码 · 共 41 行

C
41
字号
/*
************************************************************************************
*                                        uC/OS-16
*                                  The Real-Time Kernel
*                                     CORE FUNCTIONS
*
* File : OS_TASK.C
* By   : zhang xian
* Date : 2006-11-25
************************************************************************************
*/

#include "Includes.h"

#if EN_OS_TASK_SUSPEND > 0
/***********************************************************************************/
/***                 Suspend self                                                ***/
/***********************************************************************************/
void  OSTaskSuspend (void)
{
    OS_ENTER_CRITICAL();
    OSDlyTicks[OSTaskID] = 0;
    OSTaskReady &= ~OSMapTbl[OSTaskID];
    OS_EXIT_CRITICAL();
    OS_Sched();
}
/***********************************************************************************/
/***             Resume a suspend task                                           ***/
/***********************************************************************************/
void  OSTaskResume (INT8U TaskID) reentrant
{
    Assert( TaskID<OS_MAX_TASKS );
    OS_ENTER_CRITICAL();
    OSDlyTicks[TaskID] = 0;
    OSTaskReady |= OSMapTbl[TaskID];
    OS_EXIT_CRITICAL();
    OS_Sched();
}
#endif
/***********************************************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?