完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教个问题,假如在FreeSTOS中创建一个长度为3的队列,采用前向入队方式发送消息,当队列满了以后,怎么能删除队列最先发送的那条消息,使新的消息能顺利写入到队列?
|
|
相关推荐
8个回答
|
|
你只入队不出队吗?出队的时候可以控制是否删除队列项的
|
|
|
|
出队任务不定期执行,并且我是前向入队,出队会从我最后一个消息开始,我是想删除掉队列里我最先发送的那条消息
|
|
|
|
意思就是队列里只保存最新的几条消息
|
|
|
|
那你入队的时候就设置为后进先出,如果入队时发现队列满了,就手动出队一次。
|
|
|
|
手动出队会把我最新的一条删掉啊,我是想去掉最先入的那条
|
|
|
|
难道只能全部取出来,去掉不想要的那个再写回去?
|
|
|
|
那你入队的时候就设置为先进先出呗
|
|
|
|
既然要保存最新的几条消息,那干嘛要用后进先出,如果一定要后进先出还要保存最新的消息那就只能自己写了呗,队列结构体有成员变量uxMessagesWaiting表示已经使用了几个队列项,队列长度是确定的,那就自己写你想要的逻辑
|
|
|
|
只有小组成员才能发言,加入小组>>
818 浏览 0 评论
1162 浏览 1 评论
2537 浏览 5 评论
2872 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2720 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1116浏览 3评论
199浏览 2评论
465浏览 2评论
382浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
463浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 19:01 , Processed in 1.268409 second(s), Total 93, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号