#ifndef _HIDO_TIMER_H_
|
#define _HIDO_TIMER_H_
|
#include "HIDO_TypeDef.h"
|
|
typedef HIDO_VOID (*HIDO_TimerFunc)(HIDO_VOID *);
|
|
typedef struct HIDO_TimerStruct
|
{
|
HIDO_UINT32 m_u32State;
|
HIDO_UINT8 m_u8Type;
|
HIDO_UINT32 m_u32Tick;
|
HIDO_UINT32 m_u32TickBack;
|
void *m_pPrivateData;
|
HIDO_TimerFunc m_fnTimerProc;
|
}HIDO_TimerStruct;
|
|
#define HIDO_TIMER_TICK_S(s) ((s) * 1000)
|
#define HIDO_TIMER_TICK_MS(ms) ((ms))
|
#define HIDO_TIMER_TYPE_ONCE 0
|
#define HIDO_TIMER_TYPE_LOOP 1
|
|
#define HIDO_TIMER_ID_MAX_CNT 32
|
|
|
HIDO_INT32 HIDO_TimerCreate(HIDO_UINT32 *_pu32TimerID);
|
HIDO_INT32 HIDO_TimerDestroy(HIDO_UINT32 _u32TimerID);
|
HIDO_INT32 HIDO_TimerStart(HIDO_UINT32 _u32TimerID, HIDO_UINT8 _u8Type, HIDO_UINT32 _u32Tick, HIDO_TimerFunc _fnTimerProc, void *_pPrivateData);
|
HIDO_INT32 HIDO_TimerCancel(HIDO_UINT32 _u32TimerID);
|
void HIDO_TimerPoll(void);
|
void HIDO_TimerTick(void);
|
HIDO_UINT32 HIDO_TimerGetTick(void);
|
HIDO_UINT64 HIDO_TimerGetTick64(void);
|
HIDO_VOID HIDO_TimerSetTick64(HIDO_UINT64 _u64Tick);
|
|
#endif /* _HIDO_TIMER_H_ */
|