task.h

来自「为AVR单片机提供的底层操作系统代码」· C头文件 代码 · 共 45 行

H
45
字号
/*******************************************************************************
*
*   scheduler 
*   Soft version:   scheduler V1.00
*   File Name:      task.h
*   Author   :      zhaofei ( zhaozhiyuan@163.net )
*   creation date:  2006-05-17
*	module description: task creat and initialize and scheduler declare
*   Copyright (C) reserve
*
********************************************************************************/
#if !defined(__TASK_H__)
#define __TASK_H__

typedef void			TASK;
typedef void 			(*voidFuncPtr)(void);
typedef void			(*voidProcPtr)(void);
#define TASK_NUM	5	// 定义系统任务个数,最大254

#define __KERNEL_VERSION		"V1.03"

extern char TaskInitFlag; // 任务初始化标志,在任务切换时被自动清零,用户可以用此标志
                          // 位完成任务的启动初始化工作。初始化完毕后由用户自己置1
extern char TaskInitFlagS;
#ifndef NULL
#define NULL 0
#endif

#define TASKCFUNC(A) unsigned char A##TaskID;\
    TASK A##Task(void)

#define TASKDFUNC(A) extern unsigned char A##TaskID;\
    void A##Task(void);

void sch_scheduler_init(void);
void sch_scheduler(void);
TASK undefTask(void);
char CreatTask(unsigned char *TaskID, voidFuncPtr TFunc);
char ChangeTask(unsigned char TaskID);
char DeleteTask(unsigned char *TaskID);
unsigned char GetCurTaskID(void);

#endif // #if !defined(__TASK_H__)
/* EOF */

⌨️ 快捷键说明

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