#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) * 2) #define HIDO_TIMER_TICK_MS(ms) ((ms) / 500) #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_ */