硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1028|回复: 2
收起左侧

[CMSIS-RTOS] RTX5 的 osMessageQueuePut 可不可以前向入列

[复制链接]

19

主题

243

回帖

300

积分

高级会员

积分
300
发表于 2022-11-3 15:49:11 | 显示全部楼层 |阅读模式

RTX5


osStatus_t osMessageQueuePut
(osMessageQueueId_t mq_id,
const void * msg_ptr,
uint8_t msg_prio,
uint32_t timeout
)

第三个参数 优先级 是不是可以用来将消息插入到队列前面
一般put的时候优先级都是设置的0,消息都是按顺序排的。这也是一般性的需求,也就没填过其他值。
现在有个需求,如果发现读出来的数据不是当前这一次for循环所需要的,想把这个消息塞回去,下一轮for循环再使用。
不知道rtx5的消息队列可不可以从前面入列。
如果可以,是【普通的后面入列填0,后面入列填1】还是【普通的后面入列填1,后面入列填0】,也是优先级数字跟优先级大小是正关系还是负关系
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107452
QQ
发表于 2022-11-3 16:44:01 | 显示全部楼层
RTX只有FIFO方式,没有像uCOS那样可以设置FIFO或者LIFO。

所以使用这个优先级配置可以控制下,但是这个它不会调整FIFO里面的顺序,会根据用户设置的优先级实现类似的控制。
回复

使用道具 举报

19

主题

243

回帖

300

积分

高级会员

积分
300
 楼主| 发表于 2022-11-3 16:52:33 | 显示全部楼层
难受
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-1 23:18 , Processed in 0.291344 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表