chen
2025-05-15 67ca69985af9109a0603a1cde71f21b940c059ff
keil/include/components/hido/Include/HIDO_Timer.h
对比新文件
@@ -0,0 +1,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) * 1)
#define HIDO_TIMER_TICK_MS(ms)   ((ms) / 1000)
#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_ */