May 2020
Intermediate to advanced
496 pages
13h 54m
English
Earlier, we mentioned that one of the critical aspects of RTOSes was their ability to provide a way to time-bound operations; that is, they can guarantee a call doesn't stop a task from executing any longer than is desirable. An RTOS does not guarantee the successful timeliness of an operation. It only promises that the call will be returned in an amount of time. Let's have another look at the call for taking a semaphore:
BaseType_t xSemaphoreTake( SemaphoreHandle_t xSemaphore, TickType_t xTicksToWait );
From the preceding code, we can see the following: