Updated Mar 2025
Kernel Control
Modules
- taskYIELD
- taskENTER_CRITICAL
- taskEXIT_CRITICAL
- taskENTER_CRITICAL_FROM_ISR
- taskEXIT_CRITICAL_FROM_ISR
- taskDISABLE_INTERRUPTS
- taskENABLE_INTERRUPTS
- vTaskStartScheduler
- vTaskEndScheduler
- vTaskSuspendAll
- xTaskResumeAll
- vTaskStepTick
Detailed Description
taskYIELD
task. h
taskYIELD() is used to request a context switch to another task. However, if there are no other tasks at a higher or equal priority to the task that calls taskYIELD() then the RTOS scheduler will simply select the task that called taskYIELD() to run again.
If configUSE_PREEMPTION is set to 1 then the RTOS scheduler will always be running the highest priority task that is able to run, so calling taskYIELD() will never result in a switch to a higher priority task.
taskDISABLE_INTERRUPTS()
task. h
If the port in use supports the configMAX_SYSCALL_INTERRUPT_PRIORITY (or configMAX_API_CALL_INTERRUPT_PRIORITY) constant, then taskDISABLE_INTERRUPTS will either disable all interrupts, or mask (disable) interrupts up to the configMAX_SYSCALL_INTERRUPT_PRIORITY setting. Check the implementation of taskDISABLE_INTERRUPTS for the port in use.
If the port in use does not support the configMAX_SYSCALL_INTERRUPT_PRIORITY constant then taskDISABLE_INTERRUPTS() will globally disable all maskable interrupts.
Normally this macro would not be called directly and taskENTER_CRITICAL() and taskEXIT_CRITICAL() should be used in its place.
taskENABLE_INTERRUPTS()
task. h
Macro to enable microcontroller interrupts.
Normally this macro would not be called directly and taskENTER_CRITICAL() and taskEXIT_CRITICAL() should be used in its place.