📄 rd_usecooperatingminios.h
字号:
#ifndef _USE_COOPERATING_MINI_OS_H_
#define _USE_COOPERATING_MINI_OS_H_
/***********************************************************
* 声明库说明:合作调度器基本声明库 *
* 版本: v1.00 *
* 作者: 王卓然 *
* 创建日期: 2006年8月28日 *
* -------------------------------------------------------- *
* [支 持 库] *
* 支持库名称:LIB_Config.h *
* 需要版本: ---- *
* 支持库说明:库函数配置声明库 *
* -------------------------------------------------------- *
* [版本更新] *
* -------------------------------------------------------- *
* [版本历史] *
* -------------------------------------------------------- *
* [使用说明] *
* 1、在系统初始化的时候调用函数CMOS_INIT()来初始 *
* 化消息对系统;同时通过定义宏 *
* COS_REGISTER_PROC_FUNCTION来说明静态进程函 *
* 数的消息处理函数和动作函数(使用函数指针)。 *
* 每增加一个静态进程,要更新一次进程计数器 *
* COS_Proc_Counter,保证每一个进程都能被有效 *
* 的寻址。 *
* 2、用户可以通过宏COS_PROCESS_COUNT来定义最大的 *
* 进程PCB数量。这个数值直接影响系统允许的静态 *
* 进程的数量,并要占用一定的空间。这个数目的 *
* 最小值是1,因为默认有一个系统默认消息处理 *
* 进程。 *
***********************************************************/
/********************
* 头 文 件 配 置 区 *
********************/
# include "RD_MacroAndConst.h"
# include "LIB_Config.h"
/********************
* 系 统 宏 定 义 *
********************/
/*------------------*
* 常 数 宏 定 义 *
*------------------*/
# define NULLPROC NULL_PROC
/*------------------*
* 动 作 宏 定 义 *
*------------------*/
# define COS_INSERT_SUPER_LOOP_CODE Process_Task();
#ifdef _USE_MESSAGE_PROC
# define PROC_REGISTER_PCB(IO,FUNC,STATE) \
do\
{\
ProcPCB[g_cCOSPROCCounter].ProcIO = IO;\
ProcPCB[g_cCOSPROCCounter].Proc = FUNC;\
ProcPCB[g_cCOSPROCCounter].IfProcAlive = STATE;\
g_cCOSPROCCounter ++;\
}while(0);
#else
# define PROC_REGISTER_PCB(FUNC,STATE) \
do\
{\
ProcPCB[g_cCOSPROCCounter].Proc = FUNC;\
ProcPCB[g_cCOSPROCCounter].IfProcAlive = STATE;\
g_cCOSPROCCounter ++;\
}while(0);
#endif
/********************
* 结构体宏定义 *
********************/
typedef struct Process
{
#ifdef _USE_MESSAGE_PROC
BOOL (*ProcIO)(volatile MESSAGE *MSG); //支持事件驱动
#endif
BOOL (*Proc)(void); //返回False,自动关闭任务
volatile BOOL IfProcAlive;
}PROCESS;
typedef BOOL (*PROC_FUNCTION)(void);
/********************
* 函 数 引 用 区 *
********************/
extern BOOL NULL_PROC(void);
extern void CMOS_INIT(void);
extern void Process_Task(void);
/********************
* 全局变量声明区 *
********************/
extern volatile PROCESS ProcPCB[COS_PROCESS_COUNT+1];
extern uint8 g_cCOSPROCCounter;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -