?? softtimer.h
字號:
/*********************************************************************************************************
** Small RTOS(51)
** The Real-Time Kernel(For Keil c51)
**
** (c) Copyright 2002-2003, chenmingji
** All Rights Reserved
**
** V1.12.1
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: SoftTimer.H
**創 建 人: 陳明計
**最后修改日期: 2003年2月16日
**描 述: 軟定時器頭文件
**
**--------------歷史版本信息----------------------------------------------------------------------------
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 版 本: V1.12.1
** 日 期: 2003年2月16日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2003年3月30日
** 描 述: 增加注釋
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
//以下為軟定時器的配置宏
//#define EN_SOFT_TIMER_CHK 0 /* 禁止(0)或允許(1)校驗軟定時器 */
//#define SOFT_TIMER_MEM_SEL xdata /* 軟定時器存儲空間選擇,keil c51有用,必須為idata、xdata */
/* 不是keil c51時它必須為空格 */
//#define MAX_SOFT_TIMER 4 /* 軟定時器數目 */
//#define SOFT_TIMER_TASK_ID 4 /* 軟定時器管理任務ID */
#ifndef NOT_OK
#define NOT_OK 0 /* 函數調用失敗 */
#endif
#define SOFT_TIMER_OK 1 /* 函數調用成功 */
extern void SoftTimer(void);
/*********************************************************************************************************
** 函數名稱: SoftTimer
** 功能描述: 軟定時器管理任務
** 輸 入: 無
** 輸 出: 無
** 全局變量: SoftTimerCnt,SoftTimerData,SoftTimerThisDelay
** 調用模塊: OSWait(),OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern void InitSoftTimer(void);
/*********************************************************************************************************
** 函數名稱: InitSoftTimer
** 功能描述: 初始化軟定時器模塊
** 輸 入: 無
** 輸 出: 無
** 全局變量: SoftTimerData
** 調用模塊: OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern void SoftTimerSum(void);
/*********************************************************************************************************
** 函數名稱: SoftTimerSum
** 功能描述: 每次系統節拍處理時調用的函數,一個輔助定時器
** 輸 入: 無
** 輸 出: 無
** 全局變量: SoftTimerCnt
** 調用模塊: OSIntSendSignal()
**
** 作 者: 陳明計
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern uint8 SoftTimerStop(uint8 Index);
/*********************************************************************************************************
** 函數名稱: SoftTimerStop
** 功能描述: 停止一個正在運行的軟定時器
** 輸 入: Index:軟定時器的索引
** 輸 出: NOT_OK:軟定時器不存在
** SOFT_TIMER_OK:操作成功
** 全局變量: SoftTimerData
** 調用模塊: OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern uint8 SoftTimerRun(uint8 Index,uint16 Delay,void (const * Fuction)(void));
/*********************************************************************************************************
** 函數名稱: SoftTimerRun
** 功能描述: 運行一個軟定時器
** 輸 入: Index:軟定時器的索引
** Delay:延時時間
** Fuction:定時器溢出執行的函數
** 輸 出: NOT_OK:參數錯誤
** SOFT_TIMER_OK:操作正確
** 全局變量: SoftTimerData
** 調用模塊: OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()
**
** 作 者: 陳明計
** 日 期: 2003年2月16日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
/* 將函數SoftTimerSum()掛接到函數OSTimeTick()的代碼*/
#ifdef IN_OS_CORE
#define OSTimeTick _OSTimeTick
#else
extern void _OSTimeTick(void);
#define OSTimeTick SoftTimerSum(),_OSTimeTick
#endif
#define SOFT_TIMER_TIMER_OUT 0x01 /* 定時器溢出標志,軟定時器處理任務使用 */
#define SOFT_TIMER_TIMER_RUN 0x02 /* 定時器運行標志 */
/**********************end****************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -