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

📄 os_core.h

📁 一个自己写的RTOS
💻 H
字号:
/*************************************************************************
*                           Point RTOS(51)                               *
*                 The Real-Time Kernel(For Keil c51)                     *
*                                                                        *
*                     (c) Copyright 2005, PenGH                          *
*                         All Rights Reserved                            *
*                                                                        *
*                               V1.20.1                                  *
*                                                                        *
*        File :  OS_CORE.C                                               *
*      Author :  彭光红                                                  *
*     History :  
*                2005/08  By PenGH
*************************************************************************/


/*----------------------------------------------------------------------*/

#ifndef _HEAD_OS_CORE_

#define  _HEAD_OS_CORE_

#ifdef __IN_OS_CORE__
  #define  OS_CORE_EXT
#else
  #define  OS_CORE_EXT  extern
  OS_CORE_EXT UINT8 data OSTaskID;
  OS_CORE_EXT UINT8 data OSNextTaskID;

  OS_CORE_EXT UINT8 data OSWaitTick[];
  OS_CORE_EXT UINT8 data OSTaskRuning[];
  OS_CORE_EXT UINT8 data OSTaskCreated[];
  OS_CORE_EXT UINT8 const OSMapTbl[];
#endif

#define  OS_VERSION    091               /*                  系统版本号 */

#define  CODE  code                    /* 如果编译环境不是KEIL,则修改  */

#define  OSVersion()   OS_VERSION        /*                返回系统版本 */
#define  OSRunningTaskID() OSTaskID      /*              返回当前任务ID */ 

#define OSStart()     do{\
                          OSTaskCreate(TaskIdle, NULL, OS_MAX_TASKS);\
	                      EA=1;\
                          return;\
                        }while(0)

#define OSTaskCreate(TaskID, task, ptos) \
        _OSTaskCreate((ptos),(TaskID),(task))

/*操作系统初始化函数*/
OS_CORE_EXT void OSInit(void) small;

/*任务建立*/
OS_CORE_EXT UINT8 _OSTaskCreate(UINT8 TaskID, \
                                void (code * task)(void),\
                                void xdata *ptos) small;

/*任务恢复挂起*/
OS_CORE_EXT void OSTaskResume(UINT8 TaskID)  small;

/*任务持起*/
OS_CORE_EXT void OSTaskSuspend(UINT8 TaskID) small;


/*任务延时*/
OS_CORE_EXT void OSTimeDly(UINT8 ticks)  small;

/*系统时钟处理函数*/
OS_CORE_EXT void  OSTimeTick(void)  small;

/*任务休眠*/
OS_CORE_EXT void OSSleep(UINT8 ticks)  small;

/*任务唤醒*/
OS_CORE_EXT void OSWakeup(UINT8 TaskID)small;

/*任务调度*/
OS_CORE_EXT void  OSSched(void) small;

/*查找下个执行任务*/
OS_CORE_EXT void OSFindNextRunningTask(void) small;

/* 用户时钟中断处理函数*/
OS_CORE_EXT void UserTickTimer(void);

#endif


/* The end of file */

⌨️ 快捷键说明

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