systask.h

来自「名厂车载GPS通信终端」· C头文件 代码 · 共 48 行

H
48
字号
#ifndef SYSTASK_H
#define SYSTASK_H  1

#ifdef SYSTASK_GLOBAL
#define SYSTASK_EXT 
#else 
#define SYSTASK_EXT extern 
#endif 
#define MAX_TASK_NUM   5
#define MAX_TASK_TCB   40
//---------------TASK STATUS---------------------
#define TASK_REMOVED    0x00
#define TASK_CREATE     0x01
#define TASK_UNUSE      0x02
#define TASK_USE        0x04
#define TASK_SUCCESS    0x55           //发送任务消息成功
#define TASK_FAIL       0xaa           //发送任务消息失败
//-----------------------------------------------
typedef struct TASKSSTRUCT
{
   uchar       taskid;
   uchar       msgid;
   uchar       *msgptr;
   struct TASKSSTRUCT *next;
};
typedef  struct TASKSSTRUCT  TASK_STRUCT;

typedef struct
{
   void far (*initproc)();
   void far (*entryproc)();
   uchar taskid;
   BOOL status;
} TASK_TCB_STRUCT;

SYSTASK_EXT TASK_TCB_STRUCT  task[MAX_TASK_NUM];
SYSTASK_EXT struct TASKSSTRUCT      task_tcb[MAX_TASK_TCB];
SYSTASK_EXT struct TASKSSTRUCT      *Current_Tskmsg;
//-----------------------------------------------
SYSTASK_EXT void Init_Systask(void);
SYSTASK_EXT uchar Find_Task(void);
SYSTASK_EXT uchar Create_Task(void far (*initproc)(),void far (*entryproc)());
SYSTASK_EXT void Remove_Task(uchar taskid);
SYSTASK_EXT TASK_STRUCT * New_Taskptr(void);
SYSTASK_EXT uchar Send_Taskmsg(uchar taskid,uchar msgid,uchar *msgptr);
SYSTASK_EXT void Remove_Taskmsg(void);
SYSTASK_EXT void Task_Schedule(void);
#endif 

⌨️ 快捷键说明

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