📄 os_cfg.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__
/***************************************************************
* CPU内部RAM大小
****************************************************************/
#define DATA_RAM_SIZE 0x80
/***************************************************************
* 最大任务数1~8,用户实际可定义最多7个任务,空闲任务占用一个。
****************************************************************/
#define OS_MAX_TASKS 5
/***************************************************************
* 最大内存地址,仅指XDATA 保留未用
****************************************************************/
#define OS_MAX_XRAMADDR 0
/***************************************************************
* OSTaskResume是否使用。注:本系统针对小容量,因而很有必要
* 进行这样的设置。
****************************************************************/
#define OS_TaskResume_EN 1
/***************************************************************
* 延时等待函数是否有效
****************************************************************/
#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_INIT_EN 0
/***************************************************************
* 等待请求信号量函数使能
****************************************************************/
#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_HOOK_EN 0
/***************************************************************
* 用户空闲任务:使用用户自定义的系统空闲任务
****************************************************************/
#define OS_USER_IDLE_HOOK_EN 0
/***************************************************************
* 用户定时器处理过程是否有效,如果有效,则用户必须定义此函数
****************************************************************/
#define OS_USER_TIMER_HOOK_EN 0
/****************************************************************
* 如果用户使能了 OS_USER_BEFORE_SCHED或OS_USER_IDLE_EN 或
* OS_USER_TIMERPROC_EN,则对应的函数的定义(并不一定要全部
* 加入,可以只加入一个或几个)用户必须在自己的项目内实 现
* 与此定义对应的函数。
****************************************************************/
#ifdef __IN_OS_CPU_C__
#if OS_USER_BEFORE_SCHED_HOOK_EN>0
extern void UserBeforeSched(void);
#endif
#if OS_USER_IDLE_HOOK_EN>0
extern void UserIdle(void);
#endif
#if OS_USER_TIMER_HOOK_EN>0
extern void UserTimerHook(void);
#endif
#endif
#endif
/* The end of file */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -