API Usage
[API]
Selecting the API to Use
- Only those API functions specifically designated for use from within an ISR should be used from within an ISR.
- Tasks and co-routines use different API functions to access queues. A queue cannot be used to communicate between a task and a co-routine or vice versa.
- Intertask communication can be achieved using the full featured API functions,
the alternative API functions, and the
light weight API functions (those with "FromISR" in their name).
- Use of the light weight functions outside of an ISR requires special
consideration, as described under the heading "Performance tips and tricks - using the light weight API".
Task API
A task may call any API function listed in the menu frame on the left other than
those under the co-routine specific section.
Co-Routine API
In addition to the API functions listed under the co-routine specific section,
a co-routine may use the following API calls.
- taskYIELD() - will yield the task in which the co-routines are running.
- taskENTER_CRITICAL().
- taskEXIT_CRITICAL().
- vTaskStartScheduler() - this is still used to start the RTOS scheduler even if the application only includes co-routines and no tasks.
- vTaskSuspendAll() - can still be used to lock the RTOS scheduler.
- xTaskResumeAll()
- xTaskGetTickCount()
- uxTaskGetNumberOfTasks()