📄 os_def.h
字号:
#include "..\arm\os_cpu.h"
/*********************************************************************************************************
* EventOS
* The Real-Time Kernel
*
* (c) Copyright 2007-2050, Jianzhong Shen
* All Rights Reserved
* File : OS_DEF.H
*********************************************************************************************************
*/
/******************************* OS ERROR CODE ***************************************/
#define OS_NO_ERR 0
#define OS_NO_EVENT 0
#define OS_SYS_MAXDLY 1000
#define OS_ERR_CODE 0xF8
#define OS_PARM_INVALID 0xF7
#define OS_TIMEOUT 0xF6
#define OS_INVALID_ID 0xF5
#define OS_EVT_BUFFULL 0xF4
#define OS_ERR_NOEVENT 0xF3
#define OS_TSK_ACTIVE 0x80
#define OS_TSK_READY 0x40
#define OS_TSK_OVER 0x20
#define OS_TSK_SEM 0x10
#define OS_TSK_RUN 0x00
#define OS_EVT_ONTASK 0x01 //任务启动事件
#define OS_EVT_TIMEOUT 0x10
#define OS_EVT_TICK 0x11
#define OS_EVT_SEC 0x12
#define OS_EVT_MIN 0x13
#define OS_EVT_KEYDN 0x18
#define OS_EVT_KEYUP 0x19
#define OS_EVT_CURSORDN 0x1C
#define OS_EVT_CURSORUP 0x1D
#define OS_EVT_CURSORDB 0x1E
#define OS_EVT_CSRMOVE 0x1F
#define OS_EVT_STARTUP 0x20 //操作系统启动初始事件
#define OS_EVT_STACHG 0x21 //系统外设状态变化事件
#define OS_EVT_SENSOR_ERR 0x22 //外接传感器故障事件
#define OS_EVT_STOP_ERR 0x23 //设备停机事件
#define OS_EVT_HALT_ERR 0x24 //设备急停事件
#define OS_EVT_DEV_ERR 0x25 //控制器外设故障事件
/************************ EVENT MANAGMENT CONTROL BLOCK *******************************/
typedef struct {
INT8U OSEventID; /* Message ID or Semaphore ID */
INT8U nTaskID; /* The task id that actives to this message */
INT16U ParamL; /* Frist paramter for this message */
INT32U ParamM; /* Second paramter for this message */
} OS_EVENT;
/************************ MESSAGE MANAGMENT CONTROL BLOCK *****************************/
typedef struct {
INT8U OSMsgID; /* ID of message control block */
void *FstProc; /* Pointer to frist message process function */
void (*DefProc)(INT16U, INT32U); /* pointer to System defulat process */
void *pNextMsg; /* Pointer to next message */
} OS_MSG;
/************************* TASK CONTROL BLOCK **************************************/
typedef struct {
void (*pTskProg)(INT16U, INT32U); /* Task program pointer */
INT8U TaskID; /* Task ID (0..65535) */
INT8U bStatus; /* Task status */
INT8U nTskPrio; /* Task priority (0 == highest, 63 == lowest) */
INT8U NoUse;
INT16U nDelayCnt; /* Max Run time for this event */
INT8U *pTskName; /* Pointer to user definable data for TCB extension */
void *pTcbNext; /* Pointer to next TCB in the TCB list */
} OS_TCB;
typedef struct {
void (*pFuncProc)(INT16U, INT32U); /* Pointer to message process of this task */
INT8U TaskID; /* ID code for task */
INT8U bStatus; /* Be set when the process into SemCtrl wait */
INT8U nTskPrio; /* Task priority (0 == highest, 63 == lowest) */
INT8U NoUse;
INT16U nDelayCnt; /* Max Run time for this event */
void *pNextMsgP; /* printer to next task process */
} MSGPROC;
typedef struct {
OS_STK *pStkPtr; /* Pointer to current top of stack */
OS_TCB *pOS_Tcb;
INT16U nStkSize; /* Size of semphere stack (in number of stack elements) */
INT8U TaskID; /* ID code for task */
INT8U nTskPrio; /* Task priority (0 == highest, 63 == lowest) */
INT16U nDelayCnt; /* Max Wait time for event */
void *pNextSemP; /* printer to next task process */
} SEMPROC;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -