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

📄 os_cfg.h

📁 Point RTOS 主要是一个针对小系统开发而设计的实时操作系统。 目前
💻 H
字号:
/*************************************************************************
*                           Point RTOS(51)                               *
*                 The Real-Time Kernel(For Keil c51)                     *
*                                                                        *
*                     (c) Copyright 2005, PenGH                          *
*                         All Rights Reserved                            *
*                                                                        *
*                              Ver 01.0.2                                *
*                                                                        *
*        File :  OS_CORE.C                                               *
*      Author :  彭光红                                                  *
*     History :                                                          *
*                2005/08  By PenGH   文件建立                            *
*                2006/04  By PenGH   更新了系统的目录结构,加入了定时器  *
*                                    处理宏。                            *
*                2006/11  By PenGH    使CPU在空间任务时进入省电模式      *
*                                     加入信号量操作                     *
*                                     调整了一些函数的编译选项           **************************************************************************/


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


#ifndef  __HEAD_OS_CFG__
#define  __HEAD_OS_CFG__

#define  DATA_RAM_SIZE          0x80            /*  CPU内部RAM大小  */

#define OS_MAX_TASKS            5           /* 最大任务数1~8            */

#define OS_MAX_XRAMADDR         0           /* 最大内存地址,仅指XDATA   保留未用  */

#define OS_TaskResume_EN        1           /* OSTaskResume是否使用。注:本系统针对小容
                                                         量,因而很有必要进行这样的设置*/
#define OS_TimeDly_EN           0           /* 延时等待函数是否有效*/

#define OS_WakeUp_EN            0           /* 任务唤醒函数使能*/

#define OS_TimeTick_EN          0           /* 是否使用函数来进行滴哒,一般来说要对此功能进行扩展才这么做*/

/*
    信号号量操作配置定义。
*/
#define OS_SEM_EN               1           /*信号量有效*/
#define OS_MAX_SEMS             2           /*允许最大信号量个数*/
#define OS_MAX_SEMS_COUNT       100         /*最大允许的信号量计数值*/
#define OS_SEM_CHK_EN           1           /*使能信号量边界检查*/
#define OS_SEM_BUF_TYPE         xdata       /*信号量能使用的内存空间类型*/

/*
   信号量建立函数是否有效。之所以有此选项,是由于本系统使用静态全局空间作为信号量的缓冲区,
   如果信号量初始值为零且数据分配在内部空间(即idata空间),则在系统加电或复位时,已经进行
   了初始化,可以不必再进行这样的操作。
*/
#define OS_SEM_CREATE_EN		1
#define OS_SEM_PEND_EN          1           /*等待请求信号量函数使能*/
#define OS_SEM_POST_EN          1           /*发送信号量函数使能*/
#define OS_SEM_ACCEPT_EN        0           /*无等待请求信号量函数使能*/
#define OS_SEM_QUERY_EN         0           /*信号量查询函数使能*/


#define OS_USER_BEFORE_SCHED_EN 0           /* 用户开始调度前处理过程有效,如果有效,则用户必须定义此函数。*/
#define OS_USER_IDLE_EN         0           /* 用户空闲任务:使用用户自定义的系统空闲任务*/

#define OS_USER_TIMERHOOK_EN    0           /* 用户定时器处理过程是否有效,如果有效,则用户必须定义此函数*/

/*
  如果用户使能了 OS_USER_BEFORE_SCHED或OS_USER_IDLE_EN或OS_USER_TIMERPROC_EN,则对应的函数的定义
  (并不一定要全部加入,可以只加入一个或几个)用户必须在自己的项目内实现与此定义对应的函数。
*/

  #ifdef  __IN_OS_CPU_C__
    #if OS_USER_BEFORE_SCHED_EN>0
      extern void UserBeforeSched(void);
    #endif
	#if OS_USER_IDLE_EN>0
	  extern void UserIdle(void);
	#endif
	#if OS_USER_TIMERHOOK_EN>0
	  extern void UserTimerHook(void);
	#endif
  #endif

#endif


/* The end of file */

⌨️ 快捷键说明

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