📄 os_minos._h
字号:
/*
*********************************************************************************************************
* minOS 0.01v
* The Real-Time OS Kernel
* All Rights Reserved
* File : OS_minOS.h
* 作者 : 21icbbs网友 LM7556 ,2004年7月 by : LM7556 , China , 2004-2004
*
*********************************************************************************************************
*/
#ifdef OS_GLOBALS
#define OS_EXT
#else
#define OS_EXT extern
#endif
/********** Declare Task Status Message ***************************/
#define no_TASK_Rdy 0xff //noTASK_Rdy --- No any task is ready for run.
#define OS_TASK_Suspend 0xfd //OSTASK_Suspend --- A task is Suspend.
#define OS_TASK_Rdy 0xfc //OSTASK_Run --- A task is ready for run.
#define OS_TASK_Run 0xfb //OSTASK_Run --- A task is running.
#define OS_TASK_WaitTicks 0xfa //OSTASK_TimeOut --- A task is waitting for time ticks.
#define OS_TASK_TimeOut 0x0 //OSTASK_TimeOut --- A task is time ticks out.
/********** Declare Variables ***************************/
OS_EXT INT8U OS_TASK_CrtPrio; //save current priority that task is run --- 保存正在运行的任务优先级。
OS_EXT INT8U OS_TASK_HighPri; //save highest priority that task is ready --- 保存处于准备就绪任务的最高优先级。
//Declare task control block OS_TCB --- 声明任务控制块结构体。
typedef struct
{
INT16U OSStkTop; // Pointer to task top of stack
INT8U OSTaskStatus; // for OSTaskSuspend(INT8U TaskPrio),OSTaskResume(INT8U TaskPrio)
INT16U OSTimeDly; // for OSTaskSuspend(INT8U TaskPrio),OSTaskResume(INT8U TaskPrio)
} OS_TCB;
OS_EXT OS_TCB OSTCB[OS_MAX_TASKS]; //Task Control Block Array --- 任务控制块数组。
#define OS_TASK_Me OS_TASK_CrtPrio
OS_EXT OS_STK TASK_main_PrioStk[MAX_STK_SIZE]; //声明任务TaskC(void)的堆栈空间。
/********** Declare Functions for user application **********************************/
OS_EXT void OSInit(void); //initialization OSTCB --- 初始化任务控制块.
OS_EXT void OSStart(void); //Start OS --- 启动OS。
OS_EXT void OSTaskResume(INT8U TaskPrio); //Resume a task --- 恢复被挂起的任务。
OS_EXT void OSTaskSuspend(INT8U TaskPrio); //Suspend a task --- 把正在运行的任务挂起。
OS_EXT void OSTimeDly(INT16U Tdly); //OS Time Delay --- 使任务延时Tdly个时间节拍。
//Create a Task --- 建立一个任务。
//Inport : tFunc --- Task function address , tStk --- stack bottom , prio --- Task Priority .
OS_EXT void OSTaskCreate (void (*tFunc)(void) , OS_STK *tStk, INT8U prio);
/*********** Declare Functions for minOS **********************************/
OS_EXT void OSCtxSw(void);
OS_EXT void OSSched(void);
OS_EXT void OSTimeTick(void);
OS_EXT void InitOSTimer(void);
/********** Declare Functions for User hooks *******************/
OS_EXT void AppTickHook(); //Hook file for a time tick --- 用户每个时间节拍的钩子函数。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -