Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

vTaskDelay(0) vs taskYIELD()

Posted by Sverdlovsk on March 7, 2011
How does vTaskDelay(0) works? Is it equal to taskYIELD()? And if isn't what is the difference?

RE: vTaskDelay(0) vs taskYIELD()

Posted by Richard on March 8, 2011
taskYIELD() just performs a yield in whatever way the port being used does not.

vTaskDelay() is a longer function that calculates a wake time, and blocks the task. If vTaskDelay( 0 ) is called, then the wake time will be immediately, so the task will not block, but a yield will still be performed. Therefore calling vTaskDelay( 0 ) will have exactly the same end result as calling taskYIELD(), but is much less efficient in lines of code being executed.

Regards.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS