void vPortYieldFromTick( void ) { portSAVE_CONTEXT(); #if defined(DEBUG_PING) // start mark - check for start of interrupt - for debugging only PORTD |= _BV(PORTD7); // Ping IO line. #endif #if !defined(portUSE_TIMER2_RTC) if (--ticksRemainingInSec == 0) { system_tick(); ticksRemainingInSec = portTickRateHz; } #endif if( xTaskIncrementTick() != pdFALSE ) { vTaskSwitchContext(); } #if defined(DEBUG_PING) // end mark - check for end of interrupt - for debugging only PORTD &= ~_BV(PORTD7); #endif portRESTORE_CONTEXT(); __asm__ __volatile__ ( "ret" ); }
void vPortYieldFromTick( void ) { portSAVE_CONTEXT(); if (--ticksRemainingInSec == 0) { system_tick(); ticksRemainingInSec = portTickRateHz; } if( xTaskIncrementTick() != pdFALSE ) { vTaskSwitchContext(); } portRESTORE_CONTEXT(); asm volatile ( "ret" ); }