コード例 #1
0
ファイル: LPC24XX__TIME.cpp プロジェクト: Sorcha/NETMF-LPC
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 );
    }
}
コード例 #2
0
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 );
    }
}
コード例 #3
0
void HAL_Time_SetCompare(UINT64 CompareValue)
{
	SetCompareValue(CompareValue);
}