WXK
2024-03-05 c2802ee207528de2d06403061405f0faadffb922
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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_ */