📄 rtos.h
字号:
////////////////////////////////////////////////////////
// 僼傽僀儖偺愢柧丗RTOS 僿僢僟
////////////////////////////////////////////////////////
#ifndef __RTOS_H
#define __RTOS_H
#include "Water.h"
#include "Cup.h"
#include "RealTimeClock.h"
//僨乕僞宆
typedef char B;
typedef short H;
typedef long W;
typedef int INT;
typedef unsigned char UB;
typedef unsigned short UH;
typedef unsigned long UW;
typedef unsigned int UINT;
typedef INT ER;
typedef INT ID;
typedef UINT DLYTIME;
//僄儔乕僐乕僪
#define E_OK 0
//僞僗僋掕媊僥乕僽儖
typedef struct t_task_definition_table {
UB Priority; //僞僗僋桪愭搙
UB StartCondition; //僞僗僋弶婜忬懺
void ( *EntryPoint )( INT stacd ); //僞僗僋奐巒傾僪儗僗
UB *StackPoint; //僗僞僢僋傾僪儗僗
} T_TASK_DEFINITION_TABLE;
//僞僗僋掕媊僥乕僽儖偺 StartCondition 偵擖傟傞抣
#define READY 1 // 幚峴壜擻忬懺
#define DORMANT 0 // 媥巭忬懺
#define NON_EXISTENT 0xff // 枹搊榐
///////////////////////////////////////////////////////
// 僥僗僩偺偨傔偺 #define
//#define POUR_TEST // 偍搾拲偓僥僗僩帪桳岠偵偡傞
#define TEMP_TEST // 壏搙惂屼僥僗僩帪桳岠偵偡傞
extern VOID monitorTempMain( INT StaCd );
extern VOID poureMain( INT StaCd );
//OS 偺弶婜壔
inline void rtosEntry()
{
//////////////////////////////////////////////////////
// 壏搙惂屼僥僗僩帪
#ifdef TEMP_TEST
::monitorTempMain( 0 );
#endif
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// 偍搾拲偓僥僗僩帪
#ifdef POUR_TEST
::poureMain( 0 );
#endif
//////////////////////////////////////////////////////
};
//OS 僔僗僥儉僐乕儖掕媊
//僞僗僋娗棟婡擻
inline ER sta_tsk(ID tskid, INT stacd)
{
return E_OK;
};
inline void ext_tsk()
{
for(;;);
};
inline ER rel_wai( ID tskid )
{
return E_OK;
};
inline ER get_tid( ID *p_tskid )
{
*p_tskid = 1;
return E_OK;
};
//僞僗僋晅懏摨婜婡擻
inline ER slp_tsk()
{
return E_OK;
};
inline ER wup_tsk(ID tskid)
{
return E_OK;
};
//帪娫娗棟婡擻
ER dly_tsk(DLYTIME dlytim);
#endif //__RTOS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -