消息队列函数
事件功能
消息队列函数生成的事件。更多...
函数 | |
void | EvrRtxMessageQueueError (osMessageQueueId_t mq_id, int32_t status) |
消息队列错误事件(错误)更多... | |
void | EvrRtxMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr) |
消息队列创建和初始化(API)上的事件 更多... | |
void | EvrRtxMessageQueueCreated (osMessageQueueId_t mq_id, const char *name) |
成功消息队列创建事件(Op)更多... | |
void | EvrRtxMessageQueueGetName (osMessageQueueId_t mq_id, const char *name) |
消息队列名称检索(API)上的事件 更多... | |
void | EvrRtxMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout) |
消息放置事件(API)更多... | |
void | EvrRtxMessageQueuePutPending (osMessageQueueId_t mq_id, const void *msg_ptr, uint32_t timeout) |
未决消息上的事件(Op)更多... | |
void | EvrRtxMessageQueuePutTimeout (osMessageQueueId_t mq_id) |
消息放置超时事件(Op)更多... | |
void | EvrRtxMessageQueueInsertPending (osMessageQueueId_t mq_id, const void *msg_ptr) |
待处理消息插入事件(Op)更多... | |
void | EvrRtxMessageQueueInserted (osMessageQueueId_t mq_id, const void *msg_ptr) |
成功留言插入事件(Op)更多... | |
void | EvrRtxMessageQueueNotInserted (osMessageQueueId_t mq_id, const void *msg_ptr) |
不成功的消息插入事件(Op)更多... | |
void | EvrRtxMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout) |
消息获取事件(API)更多... | |
void | EvrRtxMessageQueueGetPending (osMessageQueueId_t mq_id, void *msg_ptr, uint32_t timeout) |
待处理消息获取事件(Op)更多... | |
void | EvrRtxMessageQueueGetTimeout (osMessageQueueId_t mq_id) |
消息上的事件超时(Op)更多... | |
void | EvrRtxMessageQueueRetrieved (osMessageQueueId_t mq_id, void *msg_ptr) |
成功留言的活动(Op)更多... | |
void | EvrRtxMessageQueueNotRetrieved (osMessageQueueId_t mq_id, void *msg_ptr) |
不成功的消息获取事件(Op)更多... | |
void | EvrRtxMessageQueueGetCapacity (osMessageQueueId_t mq_id, uint32_t capacity) |
消息队列容量检索事件(API)更多... | |
void | EvrRtxMessageQueueGetMsgSize (osMessageQueueId_t mq_id, uint32_t msg_size) |
消息队列消息大小检索(API)上的事件 更多... | |
void | EvrRtxMessageQueueGetCount (osMessageQueueId_t mq_id, uint32_t count) |
消息队列消息计数检索(API)上的事件 更多... | |
void | EvrRtxMessageQueueGetSpace (osMessageQueueId_t mq_id, uint32_t space) |
消息队列消息槽检索事件(API)更多... | |
void | EvrRtxMessageQueueReset (osMessageQueueId_t mq_id) |
消息队列休息(API)上的事件 更多... | |
void | EvrRtxMessageQueueResetDone (osMessageQueueId_t mq_id) |
成功消息队列重置(Op)的事件 更多... | |
void | EvrRtxMessageQueueDelete (osMessageQueueId_t mq_id) |
消息队列删除事件(API)更多... | |
void | EvrRtxMessageQueueDestroyed (osMessageQueueId_t mq_id) |
成功消息队列删除事件(Op)更多... | |
描述
函数文档
void EvrRtxMessageQueueError | ( | osMessageQueueId_t | mq_id, |
int32_t | status | ||
) |
参数
[in] | mq_id | 消息队列 ID 由 osMessageQueueNew 获取,或者当 ID 未知时为 NULL。 |
[in] | status | 扩展执行状态。 |
当消息队列例程由于错误而完成执行时,将生成事件 MessageQueueError。
status 参数指示执行状态,可以是 osStatus_t 代码之一,也可以是下表中汇总的扩展执行状态代码之一。
扩展状态代码 | 描述 |
---|---|
osRtxErrorKernelNotReady | 内核调度程序未处于就绪状态。 |
osRtxErrorKernelNotRunning | 内核调度程序没有执行 - 没有正在运行的线程。 |
osRtxErrorInvalidControlBlock | 指定了具有无效对齐或大小的对象控制块。 |
osRtxErrorInvalidDataMemory | 指定了无效对齐或大小的对象数据存储器。 |
osRtxErrorInvalidThreadStack | 指定了无效对齐或大小的线程堆栈内存。 |
osRtxErrorInvalidPriority | 指定了无效的线程优先级。 |
osRtxErrorThreadNotJoinable | 指定的线程不可连接。 |
osRtxErrorMutexNotOwned | 指定的互斥锁不归当前运行的线程所有。 |
osRtxErrorMutexNotLocked | 指定的互斥锁未锁定。 |
osRtxErrorMutexLockLimit | 达到的最大递归互斥锁数。 |
osRtxErrorSemaphoreCountLimit | 达到了信号量计数限制。 |
osRtxErrorTZ_InitContext_S | 安全上下文内存系统初始化失败 |
osRtxErrorTZ_AllocContext_S | 安全上下文内存分配失败。 |
osRtxErrorTZ_FreeContext_S | 安全上下文内存释放失败。 |
osRtxErrorTZ_LoadContext_S | 安全上下文加载失败。 |
osRtxErrorTZ_SaveContext_S | 安全上下文保存失败。 |
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- status : 执行状态代码。
void EvrRtxMessageQueueNew | ( | uint32_t | msg_count, |
uint32_t | msg_size, | ||
const osMessageQueueAttr_t * | attr | ||
) |
参数
[in] | msg_count | 队列中的最大消息数。 |
[in] | msg_size | 最大消息大小(字节)。 |
[in] | attr | 消息队列属性; NULL:默认值。 |
调用函数 osMessageQueueNew 时会生成事件 MessageQueueNew。
事件记录器中的值显示:
- msg_count : 队列中的最大消息数。
- msg_size : 最大消息大小(字节)。
- attr : 消息队列属性的内存地址,如果未指定,则为 0。
如果在 API 调用中提供了消息队列属性,则它们也会在事件记录器中详细说明。
void EvrRtxMessageQueueCreated | ( | osMessageQueueId_t | mq_id, |
const char * | name | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | name | 指向消息队列对象名称的指针。 |
当函数 osMessageQueueNew 成功创建消息队列对象时,将生成事件 MessageQueueCreated。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
void EvrRtxMessageQueueGetName | ( | osMessageQueueId_t | mq_id, |
const char * | name | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | name | 指向消息队列对象名称的指针。 |
调用函数 osMessageQueueGetName 并且其执行结果已知时,将生成事件 MessageQueueGetName。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- name : 检索名称字符串的内存地址(如果发生故障,则为 0)。
void EvrRtxMessageQueuePut | ( | osMessageQueueId_t | mq_id, |
const void * | msg_ptr, | ||
uint8_t | msg_prio, | ||
uint32_t | timeout | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,消息放入队列。 |
[in] | msg_prio | 消息优先级。 |
[in] | timeout | 超时值,如果没有超时,则为 0。 |
调用函数 osMessageQueuePut 时会生成事件 MessageQueuePut。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
- msg_prio : 消息优先级。
- timeout : 超时值。
void EvrRtxMessageQueuePutPending | ( | osMessageQueueId_t | mq_id, |
const void * | msg_ptr, | ||
uint32_t | timeout | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,消息放入队列。 |
[in] | timeout | 超时值,如果没有超时,则为 0。 |
函数 osMessageQueuePut 开始等待将消息放入队列时生成事件 MessageQueuePutPending。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
- timeout : 超时值。
void EvrRtxMessageQueuePutTimeout | ( | osMessageQueueId_t | mq_id | ) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
当函数 osMessageQueuePut 无法将消息插入队列直到超时到期时,将生成事件 MessageQueuePutTimeout。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
void EvrRtxMessageQueueInsertPending | ( | osMessageQueueId_t | mq_id, |
const void * | msg_ptr | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,消息放入队列。 |
当从 ISR 调用函数 osMessageQueuePut 并且注册消息以将其放入队列时,生成事件 MessageQueueInsertPending。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
void EvrRtxMessageQueueInserted | ( | osMessageQueueId_t | mq_id, |
const void * | msg_ptr | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,消息放入队列。 |
消息成功插入队列时会生成 MessageQueueInserted 事件。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
void EvrRtxMessageQueueNotInserted | ( | osMessageQueueId_t | mq_id, |
const void * | msg_ptr | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,消息放入队列。 |
当函数 osMessageQueuePut 无法将消息插入队列时,将生成事件 MessageQueueNotInserted。通常,当队列内存不足时会发生这种情况。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
void EvrRtxMessageQueueGet | ( | osMessageQueueId_t | mq_id, |
void * | msg_ptr, | ||
uint8_t * | msg_prio, | ||
uint32_t | timeout | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,用于从队列中获取消息。 |
[in] | msg_prio | 消息优先级。 |
[in] | timeout | 超时值,如果没有超时,则为 0。 |
调用函数 osMessageQueueGet 时会生成事件 MessageQueueGet。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
- msg_prio : 消息优先级缓冲区的内存地址。
- timeout : 超时值。
void EvrRtxMessageQueueGetPending | ( | osMessageQueueId_t | mq_id, |
void * | msg_ptr, | ||
uint32_t | timeout | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,用于从队列中获取消息。 |
[in] | timeout | 超时值,如果没有超时,则为 0。 |
当函数 osMessageQueueGet 开始等待从队列中检索消息时,将生成事件 MessageQueueGetPending。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
- timeout : 超时值。
void EvrRtxMessageQueueGetTimeout | ( | osMessageQueueId_t | mq_id | ) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
调用函数 osMessageQueueGet 时会生成事件 MessageQueueGetTimeout,并且在超时到期之前队列中没有可用消息。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
void EvrRtxMessageQueueRetrieved | ( | osMessageQueueId_t | mq_id, |
void * | msg_ptr | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,用于从队列中获取消息。 |
从消息队列中检索消息时生成事件 MessageQueueRetrieved。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
void EvrRtxMessageQueueNotRetrieved | ( | osMessageQueueId_t | mq_id, |
void * | msg_ptr | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_ptr | 指向缓冲区的指针,用于从队列中获取消息。 |
在没有等待超时的情况下调用函数 osMessageQueueGet 并且队列中没有可用消息时,将生成事件 MessageQueueNotRetrieved。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_ptr : 消息缓冲区的内存地址。
void EvrRtxMessageQueueGetCapacity | ( | osMessageQueueId_t | mq_id, |
uint32_t | capacity | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | capacity | 最大消息数。 |
调用函数 osMessageQueueGetCapacity 并且其执行结果已知时,将生成事件 MessageQueueGetCapacity。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- capacity : 检索到的最大消息数(如果发生故障,则为 0)。
void EvrRtxMessageQueueGetMsgSize | ( | osMessageQueueId_t | mq_id, |
uint32_t | msg_size | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | msg_size | 最大消息大小(字节)。 |
调用函数 osMessageQueueGetMsgSize 并且其执行结果已知时,将生成事件 MessageQueueGetMsgSize。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- msg_size : 检索的最大消息大小(以字节为单位)(如果发生故障,则为 0)。
void EvrRtxMessageQueueGetCount | ( | osMessageQueueId_t | mq_id, |
uint32_t | count | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | count | 排队的消息数量。 |
调用函数 osMessageQueueGetCount 并且其执行结果已知时,将生成事件 MessageQueueGetCount。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- count : 检索到的排队消息数(如果发生故障,则为 0)。
void EvrRtxMessageQueueGetSpace | ( | osMessageQueueId_t | mq_id, |
uint32_t | space | ||
) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
[in] | space | 消息的可用插槽数。 |
当调用函数 osMessageQueueGetSpace 并且其执行结果已知时,将生成事件 MessageQueueGetSpace。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
- space : 检索到的消息可用时隙数(如果发生故障则为 0)。
void EvrRtxMessageQueueReset | ( | osMessageQueueId_t | mq_id | ) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
调用函数 osMessageQueueReset 时会生成事件 MessageQueueReset。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
void EvrRtxMessageQueueResetDone | ( | osMessageQueueId_t | mq_id | ) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
当函数 osMessageQueueReset 成功完成消息队列重置时,将生成事件 MessageQueueResetDone。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
void EvrRtxMessageQueueDelete | ( | osMessageQueueId_t | mq_id | ) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
调用函数 osMessageQueueDelete 时会生成事件 MessageQueueDelete。
事件记录器中的值显示:
- mq_id : 消息队列 ID。
void EvrRtxMessageQueueDestroyed | ( | osMessageQueueId_t | mq_id | ) |
参数
[in] | mq_id | osMessageQueueNew 获取的消息队列 ID。 |
当函数 osMessageQueueDelete 成功删除消息队列对象时,将生成事件 MessageQueueDestroyed。
事件记录器中的值显示:
- mq_id : 消息队列 ID。