firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
xMessageBufferSendCompletedFromISR
Collaboration diagram for xMessageBufferSendCompletedFromISR:

message_buffer.h

BaseType_t xMessageBufferSendCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken );
#define xMessageBufferSendCompletedFromISR(xMessageBuffer, pxHigherPriorityTaskWoken)
Definition message_buffer.h:914
StreamBufferHandle_t MessageBufferHandle_t
Definition message_buffer.h:86
long BaseType_t
Definition portmacro.h:59

For advanced users only.

The sbSEND_COMPLETED() macro is called from within the FreeRTOS APIs when data is sent to a message buffer or stream buffer. If there was a task that was blocked on the message or stream buffer waiting for data to arrive then the sbSEND_COMPLETED() macro sends a notification to the task to remove it from the Blocked state. xMessageBufferSendCompletedFromISR() does the same thing. It is provided to enable application writers to implement their own version of sbSEND_COMPLETED(), and MUST NOT BE USED AT ANY OTHER TIME.

See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for additional information.

configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for xMessageBufferSendCompletedFromISR() to be available.

Parameters
xMessageBufferThe handle of the stream buffer to which data was written.
pxHigherPriorityTaskWoken*pxHigherPriorityTaskWoken should be initialised to pdFALSE before it is passed into xMessageBufferSendCompletedFromISR(). If calling xMessageBufferSendCompletedFromISR() removes a task from the Blocked state, and the task has a priority above the priority of the currently running task, then *pxHigherPriorityTaskWoken will get set to pdTRUE indicating that a context switch should be performed before exiting the ISR.
Returns
If a task was removed from the Blocked state then pdTRUE is returned. Otherwise pdFALSE is returned.