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

📄 os_minos._h

📁 非剥夺型占先式minOS_iccavr avr单片机 icc编译环境
💻 _H
字号:
/*
*********************************************************************************************************
*                                      minOS 0.01v
*                                The Real-Time OS Kernel
*                                  All Rights Reserved
* File : OS_minOS.h
* 作者 : 21icbbs网友 LM7556 ,2004年7月   by : LM7556 , China , 2004-2004 
*
*********************************************************************************************************
*/

#ifdef  OS_GLOBALS
#define OS_EXT
#else
#define OS_EXT  extern
#endif

/********** Declare Task Status Message  ***************************/
#define no_TASK_Rdy 	   0xff		//noTASK_Rdy      --- No any task is ready for run.

#define OS_TASK_Suspend    0xfd		//OSTASK_Suspend  --- A task is Suspend.
#define OS_TASK_Rdy 	   0xfc		//OSTASK_Run      --- A task is ready for run.
#define OS_TASK_Run 	   0xfb		//OSTASK_Run      --- A task is running.
#define OS_TASK_WaitTicks  0xfa		//OSTASK_TimeOut  --- A task is waitting for time ticks.

#define OS_TASK_TimeOut	   0x0		//OSTASK_TimeOut  --- A task is time ticks out.


/********** Declare Variables  ***************************/
OS_EXT INT8U OS_TASK_CrtPrio;	//save current priority that task is run   --- 保存正在运行的任务优先级。
OS_EXT INT8U OS_TASK_HighPri;   //save highest priority that task is ready --- 保存处于准备就绪任务的最高优先级。

//Declare task control block OS_TCB --- 声明任务控制块结构体。
typedef struct  
{
	 INT16U          OSStkTop;         // Pointer to task top of stack                             
	 INT8U           OSTaskStatus;     // for OSTaskSuspend(INT8U TaskPrio),OSTaskResume(INT8U TaskPrio)
	 INT16U          OSTimeDly;        // for OSTaskSuspend(INT8U TaskPrio),OSTaskResume(INT8U TaskPrio)
} OS_TCB;
OS_EXT OS_TCB	OSTCB[OS_MAX_TASKS];	//Task Control Block Array --- 任务控制块数组。

#define OS_TASK_Me OS_TASK_CrtPrio

OS_EXT OS_STK TASK_main_PrioStk[MAX_STK_SIZE];   //声明任务TaskC(void)的堆栈空间。


/********** Declare Functions for user application **********************************/
OS_EXT void		OSInit(void);			       //initialization OSTCB --- 初始化任务控制块.
OS_EXT void		OSStart(void);                 //Start OS --- 启动OS。
OS_EXT void 	OSTaskResume(INT8U TaskPrio);  //Resume a task --- 恢复被挂起的任务。
OS_EXT void 	OSTaskSuspend(INT8U TaskPrio); //Suspend a task --- 把正在运行的任务挂起。
OS_EXT void 	OSTimeDly(INT16U Tdly);        //OS Time Delay --- 使任务延时Tdly个时间节拍。

//Create a Task --- 建立一个任务。
//Inport :  tFunc --- Task function address , tStk --- stack bottom , prio --- Task Priority .
OS_EXT void 	OSTaskCreate (void (*tFunc)(void) , OS_STK *tStk, INT8U prio);

/*********** Declare Functions for minOS **********************************/
OS_EXT void 	OSCtxSw(void);
OS_EXT void 	OSSched(void);
OS_EXT void 	OSTimeTick(void);       
OS_EXT void 	InitOSTimer(void);

/********** Declare Functions for User hooks *******************/
OS_EXT void 	AppTickHook();		    //Hook file for a time tick --- 用户每个时间节拍的钩子函数。


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -