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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.