本帖最后由 lhchen922 于 2013-12-7 16:52 编辑
INTERFACE unsigned long ulEventTimerOutCounter[TO_MAX_EVENT];
INTERFACE unsigned long ulEventTimer[TO_MAX_EVENT];
#define GET_EVENT_STARTUP_TIMER(event) (ulEventTimer[event] = _GetSystemCount())
#define RESET_EVENT_TIMER(event) (GET_EVENT_STARTUP_TIMER(event))
#define EVENT_TIMEOUT_COUNTER(event) (ulEventTimerOutCounter[event])
#define SET_EVENT_TIMEOUT_COUNTER(event,counter) (ulEventTimerOutCounter[event] = counter)
#define GET_EVENT_TIMEOUT_COUNTER(event) (ulEventTimerOutCounter[event])
#define DIFF_TIME_FROM_NOW(time) (_GetSystemCount() - time)
#define EVENT_DIFF_TIMER_FROM_NOW(event) (DIFF_TIME_FROM_NOW(ulEventTimer[event]))
#define IS_EVENT_TIMEOUT(event) ((EVENT_DIFF_TIMER_FROM_NOW(event) == EVENT_TIMEOUT_COUNTER(event)) ? TRUE : FALSE)
vu32 _GetSystemCount(void)
{
return jiffies;
}
|