当前位置: 首页>>代码示例>>C++>>正文


C++ xSecondTimerHandler函数代码示例

本文整理汇总了C++中xSecondTimerHandler函数的典型用法代码示例。如果您正苦于以下问题:C++ xSecondTimerHandler函数的具体用法?C++ xSecondTimerHandler怎么用?C++ xSecondTimerHandler使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了xSecondTimerHandler函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: vIntQTimerISR1

	void vIntQTimerISR1( void )
	{
		/* Enable interrupts to allow interrupt nesting. */
		__asm volatile( "setpsw	i" );

		portYIELD_FROM_ISR( xSecondTimerHandler() );
	}
开发者ID:Eclo,项目名称:FreeRTOS,代码行数:7,代码来源:IntQueueTimer.c

示例2: prvTC0_Handler

static void prvTC0_Handler( void )
{
uint32_t ulDidSomething;

	do
	{
		ulDidSomething = pdFALSE;

		/* Read will clear the status bit. */
		if( ( TC0->TC_CHANNEL[ tmrTC0_CHANNEL_0 ].TC_SR & tmrRC_COMPARE ) != 0 )
		{
			/* Call the IntQ test function for this channel. */
			portYIELD_FROM_ISR( xFirstTimerHandler() );
			ulDidSomething = pdTRUE;
		}

		if( ( TC0->TC_CHANNEL[ tmrTC0_CHANNEL_1 ].TC_SR & tmrRC_COMPARE ) != 0 )
		{
			/* Call the IntQ test function for this channel. */
			portYIELD_FROM_ISR( xSecondTimerHandler() );
			ulDidSomething = pdTRUE;
		}

	} while( ulDidSomething == pdTRUE );
}
开发者ID:AlexShiLucky,项目名称:freertos,代码行数:25,代码来源:IntQueueTimer.c

示例3: TIMER16_1_IRQHandler

void TIMER16_1_IRQHandler(void)
{
	/* Clear the interrupt. */
	LPC_TMR16B1->IR = LPC_TMR16B1->IR;

	/* Call the standard demo int queue timer function for this second timer. */
	portEND_SWITCHING_ISR( xSecondTimerHandler() );
}
开发者ID:DanielKristofKiss,项目名称:FreeRTOS,代码行数:8,代码来源:IntQueueTimer.c

示例4: vT2_3_ISR_Handler

void vT2_3_ISR_Handler( void )
{
	/* Re-enabled interrupts. */
	__asm volatile( "SETPSW	I" );

	/* Call the handler that is part of the common code - this is where the
	non-portable code ends and the actual test is performed. */
	portYIELD_FROM_ISR( xSecondTimerHandler() );	
}
开发者ID:AlexShiLucky,项目名称:freertos,代码行数:9,代码来源:IntQueueTimer.c

示例5: vCMT_1_Channel_1_ISR

void vCMT_1_Channel_1_ISR( void )
{
	/* Clear the interrupt. */
	VIC.PIC0.LONG = ( 1UL << 24UL );

	/* Call the handler that is part of the common code - this is where the
	non-portable code ends and the actual test is performed. */
	portYIELD_FROM_ISR( xSecondTimerHandler() );
}
开发者ID:AlexShiLucky,项目名称:freertos,代码行数:9,代码来源:IntQueueTimer.c

示例6: TC1_Handler

void TC1_Handler( void )
{
	/* Handler for the second timer in the IntQueue test.  Was the interrupt
	caused by a compare on RC? */
	if( ( tc_get_status( TC0, tmrTIMER_1_CHANNEL ) & ~TC_SR_CPCS ) != 0 )
	{
		portYIELD_FROM_ISR( xSecondTimerHandler() );
	}
}
开发者ID:QiuLihua83,项目名称:FreeRTOSv9.0.0.0,代码行数:9,代码来源:IntQueueTimer.c

示例7: vT1InterruptHandler

void vT1InterruptHandler( void )
{
	/* Disable all interrupts because the source bit is shared with a bit used
	by the other timer and the high frequency timer test. */
	__asm volatile( "di" );
	/* Clear the timer interrupt. */
	jtvic_clr_source( MEC14xx_GIRQ23_ID, 1 );
	__asm volatile( "ei" );

	portEND_SWITCHING_ISR( xSecondTimerHandler() );
}
开发者ID:wugsh,项目名称:wgs,代码行数:11,代码来源:IntQueueTimer.c

示例8: NVIC_Handler_TMR1

void NVIC_Handler_TMR1( void )
{
	tmrRECORD_NESTING_DEPTH();

	/* Just testing the xPortIsInsideInterrupt() functionality. */
	configASSERT( xPortIsInsideInterrupt() == pdTRUE );

	/* Call the IntQ test function for this channel. */
	portYIELD_FROM_ISR( xSecondTimerHandler() );

	ulNestingDepth--;
}
开发者ID:wugsh,项目名称:wgs,代码行数:12,代码来源:IntQueueTimer.c

示例9: prvTC0_Handler

static void prvTC0_Handler( void )
{
    /* Read will clear the status bit. */
	if( ( TC0->TC_CHANNEL[ tmrTC0_CHANNEL_0 ].TC_SR & tmrRC_COMPARE ) != 0 )
	{
		portYIELD_FROM_ISR( xFirstTimerHandler() );
	}

	if( ( TC0->TC_CHANNEL[ tmrTC0_CHANNEL_1 ].TC_SR & tmrRC_COMPARE ) != 0 )
	{
		portYIELD_FROM_ISR( xSecondTimerHandler() );
	}
}
开发者ID:qais-yousef,项目名称:freertos,代码行数:13,代码来源:IntQueueTimer.c

示例10: vApplicationHPETTimer1Handler

void vApplicationHPETTimer1Handler( void )
{
BaseType_t xHigherPriorityTaskWoken;

	if( xSchedulerRunning != pdFALSE )
	{
		if( ulInterruptNesting > ulMaxInterruptNesting )
		{
			ulMaxInterruptNesting = ulInterruptNesting;
		}

		xHigherPriorityTaskWoken = xSecondTimerHandler();
		portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
	}
}
开发者ID:Eclo,项目名称:FreeRTOS,代码行数:15,代码来源:IntQueueTimer.c

示例11: TC0_Handler

void TC0_Handler( void )
{
    /* Read will clear the status bit. */
    if( ( TC0->TC_CHANNEL[ tmrTC0_CHANNEL_0 ].TC_SR & tmrRC_COMPARE ) != 0 )
    {
        /* Call the IntQ test function for this channel. */
        portYIELD_FROM_ISR( xFirstTimerHandler() );
    }

    if( ( TC0->TC_CHANNEL[ tmrTC0_CHANNEL_1 ].TC_SR & tmrRC_COMPARE ) != 0 )
    {
        /* Call the IntQ test function for this channel. */
        portYIELD_FROM_ISR( xSecondTimerHandler() );
    }
}
开发者ID:ttzeng,项目名称:lpcopen,代码行数:15,代码来源:IntQueueTimer.c

示例12: prvTimerHandler

static void prvTimerHandler( void *pvCallBackRef )
{
uint32_t ulInterruptStatus;
XTtcPs *pxTimer = ( XTtcPs * ) pvCallBackRef;
BaseType_t xYieldRequired;

	/* Read the interrupt status, then write it back to clear the interrupt. */
	ulInterruptStatus = XTtcPs_GetInterruptStatus( pxTimer );
	XTtcPs_ClearInterruptStatus( pxTimer, ulInterruptStatus );

	/* Only one interrupt event type is expected. */
	configASSERT( ( XTTCPS_IXR_INTERVAL_MASK & ulInterruptStatus ) != 0 );

	/* Check the device ID to know which IntQueue demo to call. */
	if( pxTimer->Config.DeviceId == xDeviceIDs[ 0 ] )
	{
		xYieldRequired = xFirstTimerHandler();
	}
	else if( pxTimer->Config.DeviceId == xDeviceIDs[ 1 ] )
	{
		xYieldRequired = xSecondTimerHandler();
	}
	else
	{
		/* The high frequency timer is also used to generate the time base for
		the run time state. */
		ulHighFrequencyTimerCounts++;

		/* Latch the highest interrupt nesting count detected. */
		if( ulPortInterruptNesting > ulMaxRecordedNesting )
		{
			ulMaxRecordedNesting = ulPortInterruptNesting;
		}

		xYieldRequired = pdFALSE;
	}

	/* If xYieldRequired is not pdFALSE then calling either xFirstTimerHandler()
	or xSecondTimerHandler() resulted in a task leaving the blocked state and
	the task that left the blocked state had a priority higher than the currently
	running task (the task this interrupt interrupted) - so a context switch
	should be performed so the interrupt returns directly to the higher priority
	task.  xYieldRequired is tested inside the following macro. */
	portYIELD_FROM_ISR( xYieldRequired );
}
开发者ID:dirk-brandewie,项目名称:freertos,代码行数:45,代码来源:IntQueueTimer.c

示例13: Excep_PERIB_INTB129

void Excep_PERIB_INTB129( void )
{
	portYIELD_FROM_ISR( xSecondTimerHandler() );
}
开发者ID:AskDrCatcher,项目名称:FreeRTOS,代码行数:4,代码来源:IntQueueTimer.c

示例14: r_tmr_cmia2_interrupt

void r_tmr_cmia2_interrupt( void )
{
	portYIELD_FROM_ISR( xSecondTimerHandler() );
}
开发者ID:AlexShiLucky,项目名称:freertos,代码行数:4,代码来源:IntQueueTimer.c

示例15: vT2_3InterruptHandler

void vT2_3InterruptHandler( void )
{
	portYIELD_FROM_ISR( xSecondTimerHandler() );
}
开发者ID:RitikaGupta1207,项目名称:freertos,代码行数:4,代码来源:IntQueueTimer.c


注:本文中的xSecondTimerHandler函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。