?? os_sem.h
字號:
/*********************************************************************************************************
** Small RTOS(51)
** The Real-Time Kernel(For Keil c51)
**
** (c) Copyright 2002-2003, chenmingji
** All Rights Reserved
**
** V1.20.0
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: OS_sem.h
**創 建 人: 陳明計
**最后修改日期: 2002年12月2日
** 描 述: Small RTOS(51)信號量頭文件,定義一些宏和聲明一些函數
**
**--------------歷史版本信息----------------------------------------------------------------------------
** 創建人: 陳明計
** 版 本: V1.10~V1.12.0
** 日 期: 2002年9月1日~2002年12月30日
** 描 述: 完善信號量代碼
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 版 本: V1.20.0
** 日 期: 2003年8月3日
** 描 述: 刪除OSInt*函數,根據新版本要求改變一些代碼
**
**--------------當前版本修訂-----------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef NOT_OK
#define NOT_OK 255 /* 參數錯誤 */
#endif
#define OS_SEM_NOT_OK 4 /* 無信號 */
#define OS_SEM_TMO 2 /* 超時到 */
#define OS_SEM_OK 1 /* 操作成功 */
#ifndef IN_OS_SEM
extern uint8 OSSemCreate(uint8 Index,uint8 Data);
/*********************************************************************************************************
** 函數名稱: OSSemCreate
** 功能描述: 初始化消息隊列
** 輸 入: Index:信號量索引
** data:信號量初始值
** 輸 出: NOT_OK:沒有這個信號量
** OS_SEM_OK:成功
** 全局變量: 無
** 調用模塊: 無
********************************************************************************************************/
extern uint8 OSSemPend(uint8 Index, uint8 Tick);
/*********************************************************************************************************
** 函數名稱: OSSemPend
** 功能描述: 等待一個信號量
** 輸 入: Index:信號量索引
** Tick:等待時間
** 輸 出: NOT_OK:參數錯誤
** OS_SEM_OK:得到信號量
** OS_SEM_TMO:超時到
** OS_SEM_NOT_OK:沒有得到信號量
** 全局變量: 無
** 調用模塊: OSRunningTaskID,OSClearSignal,OSSched,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
********************************************************************************************************/
extern uint8 OSSemAccept(uint8 Index);
/*********************************************************************************************************
** 函數名稱: OSSemAccept
** 功能描述: 無等待請求信號量
** 輸 入: Index:信號量索引
** 輸 出: NOT_OK:參數錯誤
** OS_SEM_OK:得到信號量
** OS_SEM_TMO:超時到
** OS_SEM_NOT_OK:沒有得到信號量
** 全局變量: 無
** 調用模塊: OSClearSignal,OSSched,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
********************************************************************************************************/
#define OSSemIntPost(Index) OSSemPost(Index)
extern uint8 OSSemPost(uint8 Index);
/*********************************************************************************************************
** 函數名稱: OSSemPost
** 功能描述: 發送一個信號量
** 輸 入: Index:信號量索引
** 輸 出: NOT_OK:參數錯誤
** OS_SEM_OK:發送成功
** 全局變量: 無
** 調用模塊: OSSemIntPost,OSSched
********************************************************************************************************/
extern uint8 OSSemQuery(uint8 Index);
/*********************************************************************************************************
** 函數名稱: OSSemQuery
** 功能描述: 查詢信號量
** 輸 入: Index:信號量索引
** 輸 出: 信號量的值
** 全局變量: 無
** 調用模塊: OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
********************************************************************************************************/
#endif
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -