📄 ggt_os.h
字号:
/****************************************************************************************************
** Gogoto OS
** (c) Copyright 2007-2008, luyigui(卢益贵)
** All Rights Reserved
** V1.00.0
**
** 狗狗兔嵌入式多任务系统(基于消息机制)
** 绿城代码、GGT-OS、Gogoto OS、狗狗兔嵌入式、狗狗兔系统
** QQ:48092788
**
**------------------文件信息------------------------------------------------------------------------
** 文件名: GGT_OS.h
** 创建人: 卢益贵
** 日 期: 2007年12月8日
** 版 本: V1.00.0
** 描 述: Gogoto OS 提供给用户引用的头文件
**
**------------------修改记录------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
****************************************************************************************************/
#ifndef __GGT_OS_H__
#define __GGT_OS_H__
#ifndef __GGT_TYPE_H__
#define __GGT_TYPE_H__
typedef signed char INT8;
typedef unsigned char UINT8;
typedef signed short INT16;
typedef unsigned short UINT16;
typedef signed int INT32;
typedef unsigned int UINT32;
typedef unsigned int BOOL;
#define NULL 0
#define TRUE 1
#define FALSE 0
#endif
typedef UINT32 OS_ID;
typedef UINT32 OS_HANDLE;
typedef struct __BoxHead
{
void *pFree;
}_BoxHead, *_pBoxHead;
typedef struct
{
UINT32 Flag;
void* pTask;
}_Sem, *_pSem;
typedef struct
{
BOOL IsBusy;
OS_ID Owner;
INT32 Count;
void* pTask;
}_Mut, *_pMut;
typedef struct __Msg
{
UINT32 Msg;
UINT32 wParam;
UINT32 lParam;
}_Msg, *_pMsg;
#define DEBUG 1
#define OS_MSG_TIMER 0x4000
#define OS_MSG_USER 0x8000
#define OS_TSK_DELAY_SUSPEND 0xFFFFFFFF
extern UINT32 OSTaskUserCreate(void *pTaskBody, const UINT32 Prio, UINT32 Mode, const UINT32 TaskParam);
extern UINT32 OSTaskCreate(void *pTaskBody, const UINT32 Prio, const UINT32 TaskParam);
extern BOOL OSTaskMsgWait(_pMsg pMsg);
extern BOOL OSTaskMsgPeek(_pMsg pMsg);
extern INT32 OSTaskMsgPost(const OS_ID TaskID, const UINT32 Msg, const UINT32 wParam, const UINT32 lParam);
extern void OSTaskSuspend(OS_ID TaskID);
extern BOOL OSTaskResume(OS_ID TaskID);
extern UINT32 OSTaskSelf(void);
extern void OSTaskKill(OS_ID TaskID);
void OSTaskDelay(UINT32 Time);
#define OSTaskKillSelf OSTaskKill(OSTaskSelf())
extern void OSMutWait(_pMut pMut);
extern void OSMutRelease(_pMut pMut);
extern void OSMutInit(_pMut pMut);
extern void OSSemWait(_pSem pSem);
extern void OSSemSend(_pSem pSem);
extern void OSSemInit(_pSem pSem);
#define OSIsrMsgPost(P1, P2, P3, P4) OSMsgPost(P1, P2, P3, P4)
#define OSIsrSemSend(P1) OSSemSend(P1)
extern void OSIsrBegin(void);
extern void OSIsrEnd(BOOL DoSW);
void OSTimerKill(const OS_ID TimerID);
BOOL OSTimerSet(const OS_ID TaskID, const UINT32 Time);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -