📄 mng_tsk.h
字号:
#ifndef __MNG_MSG_H__
#define __MNG_MSG_H__
/*******************************************************************************
// 类型定义
*******************************************************************************/
// Message管理
/* message */
#define MAX_MSG_PARAM 4
typedef struct tagMsg_t
{
int iMsgID; /* message id */
UCHAR ucSrcID; /* source task id */
UCHAR ucTgtID; /* target task id */
UCHAR aucParam[MAX_MSG_PARAM]; /* additional param */
}Msg_t, *pMsg_t;
/* message node */
typedef struct tagMsgNode_t
{
Msg_t stMsg; /* task message */
struct tagMsgNode_t* next; /* next message */
struct tagMsgNode_t* prev; /* prev message */
}MsgNode_t, *pMsgNode_t;
/* message list */
typedef struct tagMsgList_t
{
MsgNode_t stMsgHead; /* message node */
MsgNode_t stFreeHead; /* free node */
}MsgList_t, *pMsgList_t;
// 任务管理
/* task info */
typedef void(*TSK_INIT_FUNC)();
typedef int(*TSK_PROC_FUNC)(const Msg_t* pstMsg);
typedef struct tagTaskInfo_t
{
int iTskID; /* Task Id */
const TSK_INIT_FUNC pfTskInit; /* Task Init */
const TSK_PROC_FUNC pfTskProc; /* Task Proc */
}TaskInfo_t, *pTaskInfo_t;
/*******************************************************************************
// Task定义
*******************************************************************************/
#include "tsk_kernel.h"
/* Task Info */
#define NUM_TASKS (1) /* Task数目 */
/* Main Task */
#define TASK_ID0 0
#define TASK_INIT0 KernelInit
#define TASK_PROC0 KernelProc
/* NULL Task */
#define TASK_ID1 1
#define TASK_INIT1 NULL
#define TASK_PROC1 NULL
/* NULL Task */
#define TASK_ID2 2
#define TASK_INIT2 NULL
#define TASK_PROC2 NULL
/* NULL Task */
#define TASK_ID3 3
#define TASK_INIT3 NULL
#define TASK_PROC3 NULL
/* NULL Task */
#define TASK_ID4 4
#define TASK_INIT4 NULL
#define TASK_PROC4 NULL
/* NULL Task */
#define TASK_ID5 5
#define TASK_INIT5 NULL
#define TASK_PROC5 NULL
/* NULL Task */
#define TASK_ID6 6
#define TASK_INIT6 NULL
#define TASK_PROC6 NULL
/* NULL Task */
#define TASK_ID7 7
#define TASK_INIT7 NULL
#define TASK_PROC7 NULL
/* NULL Task */
#define TASK_ID8 8
#define TASK_INIT8 NULL
#define TASK_PROC8 NULL
/* NULL Task */
#define TASK_ID9 9
#define TASK_INIT9 NULL
#define TASK_PROC9 NULL
/* NULL Task */
#define TASK_ID10 10
#define TASK_INIT10 NULL
#define TASK_PROC10 NULL
/*******************************************************************************
// 外部函数声明
*******************************************************************************/
extern void MngTskInit(void);
extern int SendMsg(const pMsg_t pMsg);
extern void DstrbtMsg(void);
#endif//__MNG_MSG_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -