⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rd_usecooperatingminios.h

📁 LCD1602键盘显示模块实例
💻 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 + -