void LPC24XX_TIME_Driver::ISR( void* Param ) { //DEBUG_TRACE0(TRACE_SETCOMPARE,"LPC24XX_TIME_Driver::ISR\r\n"); if(LPC24XX_TIMER_Driver::DidCompareHit( LPC24XX_Driver::c_SystemTime_Timer )) { LPC24XX_TIMER_Driver::ResetCompareHit( LPC24XX_Driver::c_SystemTime_Timer ); } g_LPC24XX_TIME_Driver.m_lastRead = CounterValue(); if(g_LPC24XX_TIME_Driver.m_lastRead >= g_LPC24XX_TIME_Driver.m_nextCompare) { // this also schedules the next one, if there is one HAL_COMPLETION::DequeueAndExec(); } else { // // Because we are limited in the resolution of timer, // resetting the compare will properly configure the next interrupt. // SetCompareValue( g_LPC24XX_TIME_Driver.m_nextCompare ); } }
void AT91_TIME_Driver::ISR( void* Param ) { if(CounterValue() >= g_AT91_TIME_Driver.m_nextCompare) { // this also schedules the next one, if there is one HAL_COMPLETION::DequeueAndExec(); } else { // // Because we are limited in the resolution of timer, // resetting the compare will properly configure the next interrupt. // SetCompareValue( g_AT91_TIME_Driver.m_nextCompare ); } }
void HAL_Time_SetCompare(UINT64 CompareValue) { SetCompareValue(CompareValue); }