osMessageQueuePut() - загрузка сообщения в очередь в CMSIS-RTOS2
Put a Message into a Queue or timeout if Queue is full.
Помещает сообщение в очередь немедленно или по таймауту, если очередь заполнена.
osStatus_t osMessageQueuePut(osMessageQueueId_t mq_id,
const void *msg_ptr,
uint8_t msg_prio,
uint32_t timeout);
Параметры
Возвращаемое значение
Возможные возвращаемые значения:
osOK : сообщение помещено в очередь;
osErrorTimeout : сообщение не удалось поместить в очередь за заданное время (wait-timed semantics);
osErrorResource : недостаточно места в очереди (try semantics);
osErrorParameter : идентификатор очереди сообщений mq_id равен нулю или недопустим, в ISR указан ненулевой таймаут;
osErrorSafetyClass : класс безопасности вызывающей задачи ниже, чем класс безопасности указанной очереди сообщений.
Описание
Функция osMessageQueuePut() может быть вызвана из процедуры обработки прерывания (ISR) только с нулевым значением таймаута