完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教个问题,假如在FreeSTOS中创建一个长度为3的队列,采用前向入队方式发送消息,当队列满了以后,怎么能删除队列最先发送的那条消息,使新的消息能顺利写入到队列?
|
|
相关推荐
8个回答
|
|
你只入队不出队吗?出队的时候可以控制是否删除队列项的
|
|
|
|
出队任务不定期执行,并且我是前向入队,出队会从我最后一个消息开始,我是想删除掉队列里我最先发送的那条消息
|
|
|
|
意思就是队列里只保存最新的几条消息
|
|
|
|
那你入队的时候就设置为后进先出,如果入队时发现队列满了,就手动出队一次。
|
|
|
|
手动出队会把我最新的一条删掉啊,我是想去掉最先入的那条
|
|
|
|
难道只能全部取出来,去掉不想要的那个再写回去?
|
|
|
|
那你入队的时候就设置为先进先出呗
|
|
|
|
既然要保存最新的几条消息,那干嘛要用后进先出,如果一定要后进先出还要保存最新的消息那就只能自己写了呗,队列结构体有成员变量uxMessagesWaiting表示已经使用了几个队列项,队列长度是确定的,那就自己写你想要的逻辑
|
|
|
|
只有小组成员才能发言,加入小组>>
716 浏览 0 评论
1120 浏览 1 评论
2499 浏览 5 评论
2837 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2681 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
662浏览 9评论
676浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
792浏览 6评论
638浏览 5评论
681浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 00:31 , Processed in 1.355662 second(s), Total 92, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号