//-------------------------------------------------- // 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); }
//-------------------------------------------------- // 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); }