完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
请教个问题,假如在FreeSTOS中创建一个长度为3的队列,采用前向入队方式发送消息,当队列满了以后,怎么能删除队列最先发送的那条消息,使新的消息能顺利写入到队列?
|
|
相关推荐
8个回答
|
|
|
你只入队不出队吗?出队的时候可以控制是否删除队列项的
|
|
|
|
|
|
出队任务不定期执行,并且我是前向入队,出队会从我最后一个消息开始,我是想删除掉队列里我最先发送的那条消息
|
|
|
|
|
|
意思就是队列里只保存最新的几条消息
|
|
|
|
|
|
那你入队的时候就设置为后进先出,如果入队时发现队列满了,就手动出队一次。
|
|
|
|
|
|
手动出队会把我最新的一条删掉啊,我是想去掉最先入的那条
|
|
|
|
|
|
难道只能全部取出来,去掉不想要的那个再写回去?
|
|
|
|
|
|
那你入队的时候就设置为先进先出呗
|
|
|
|
|
|
既然要保存最新的几条消息,那干嘛要用后进先出,如果一定要后进先出还要保存最新的消息那就只能自己写了呗,队列结构体有成员变量uxMessagesWaiting表示已经使用了几个队列项,队列长度是确定的,那就自己写你想要的逻辑
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 00:19 , Processed in 0.720069 second(s), Total 88, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1851