Exemple #1
0
//--------------------------------------------------
// Description  : Reactive a timer for an event. If the event is exist,
//                this function will reset the executing time and restart.
// Input Value  : usTime    --> Unit in 10ms, range in 0.01 ~ 655.3 sec
//                Event     --> Execute Event while timeup
// Output Value : None
//--------------------------------------------------
void CTimerReactiveTimerEvent(WORD usTime, void (*Event)())
{
    BYTE timereventcnt;

    for(timereventcnt=0;timereventcnt<_MAX_EVENT_AMOUNT;timereventcnt++)
    {
        if((TimerEvent[timereventcnt].Time != _INACTIVE_TIMER_EVENT) && (TimerEvent[timereventcnt].Event == Event))
        {
            bTimer0Ctrl = _TRUE;
            TimerEvent[timereventcnt].Time = usTime;
            bTimer0Ctrl = _FALSE;
            return;
        }
    }
    CTimerActiveTimerEvent(usTime, Event);
}
Exemple #2
0
//--------------------------------------------------
// Description  : Reactive a timer for an event. If the event is exist,
//                this function will reset the executing time and restart.
// Input Value  : usTime    --> Unit in 10ms, range in 0.01 ~ 655.3 sec
//                Event     --> Execute Event while timeup
// Output Value : None
//--------------------------------------------------
void CTimerReactiveTimerEvent(uint32_t usTime, void (*Event)())
{
	uint8_t ucTimerEventCnt = 0;

	for(ucTimerEventCnt = 0; ucTimerEventCnt < _MAX_EVENT_AMOUNT; ucTimerEventCnt++)
	{
		if((g_stTimerEvent[ucTimerEventCnt].Time != _INACTIVE_TIMER_EVENT) && (g_stTimerEvent[ucTimerEventCnt].Event == Event))
		{
			g_bTimer1Ctrl = true;
			g_stTimerEvent[ucTimerEventCnt].Time = usTime;
			g_bTimer1Ctrl = false;
			return;
		}
	}

	CTimerActiveTimerEvent(usTime, Event);
}