[STM32F3] ucos iii 的内建消息队列是垃圾还是我不会?

[复制链接]
caijie001 发表于 2019-3-21 21:06 | 显示全部楼层
生产者与消费者。。。。
caijie001 发表于 2019-3-21 21:07 | 显示全部楼层
按照你自己说的,1ms产生一次数据,10ms处理一次数据,FIFO迟早也会溢出,,,,,,
caijie001 发表于 2019-3-21 21:07 | 显示全部楼层
还不是你自己的问题吗
 楼主| lanmanck 发表于 2019-3-21 21:30 | 显示全部楼层
caijie001 发表于 2019-3-21 21:07
还不是你自己的问题吗

溢出个毛,你不让他加进来就行了。
总结一下,前面几个哥们想法都不错,
1、一个是malloc,来一个分配个内存,然后把指针拿去排队,后续不要用到这个区域就行,用完后free一下。
2、一个是固定分配buffer,但是要自己维护索引值,不要被生产者覆盖了,来一个数就把该数组的指针拿去排队,多了不让再写了。用完把索引值更新(我目前在用)
总的来说 OSTaskQPost适合频繁malloc/free的场景,如果自己维护索引值我认为就没什么必要用了。
就这么个事。
seatrix 发表于 2019-3-21 22:07 | 显示全部楼层
LZ不会用 拉不出屎怪茅坑
yklstudent 发表于 2019-3-21 22:34 来自手机 | 显示全部楼层
楼主高兴就好,还发帖干嘛哦哦
xtoolbox 发表于 2019-3-21 23:41 来自手机 | 显示全部楼层
lanmanck 发表于 2019-3-21 21:30
溢出个毛,你不让他加进来就行了。
总结一下,前面几个哥们想法都不错,
1、一个是malloc,来一个分配个 ...

这两个本质是一样的,malloc的底层实现就是把一块buffer当成堆,申请了的做上标记,free之后还回去。
yediezeus 发表于 2019-3-22 08:41 | 显示全部楼层
whtwhtw 发表于 2019-3-22 09:56 | 显示全部楼层
系统是尽量减少或者不使用全局变量,如楼主所说,因为全局变量不知道什么时候就被改变了;消息队列就是完成一次包装,达成数据的精准送达,又保证数据的私密性
caijie001 发表于 2019-3-23 07:39 | 显示全部楼层
lanmanck 发表于 2019-3-21 21:30
溢出个毛,你不让他加进来就行了。
总结一下,前面几个哥们想法都不错,
1、一个是malloc,来一个分配个 ...

我不懂,good luck
keaibukelian 发表于 2019-4-8 14:37 | 显示全部楼层
应该不是垃圾
labasi 发表于 2019-4-8 15:08 | 显示全部楼层
楼主的问题面大
paotangsan 发表于 2019-4-9 08:44 | 显示全部楼层
我只用过freertos
renzheshengui 发表于 2019-4-9 09:02 | 显示全部楼层
楼主的问题啊
wakayi 发表于 2019-4-9 09:13 | 显示全部楼层
应该是楼主的问题
oyhprince 发表于 2019-5-20 11:33 | 显示全部楼层
kingkits 发表于 2019-3-20 14:18
建议还是用ucosii吧

请问为什么?
戈卫东 发表于 2019-5-20 12:21 | 显示全部楼层
还是有点用的。
资源需求比较高,不过用得起UCOS的大概也不在乎这点资源需求。
wsmysyn 发表于 2019-5-20 12:40 | 显示全部楼层
都看出来了,,楼主的脾气很暴躁,,破口大骂,,家教不好,,真是,,算了。。

现实生生活中遇到这样的,见到一次打一次,

zchong 发表于 2019-5-20 17:07 来自手机 | 显示全部楼层
塞爆了,你还没去处理,你等啥呢
zchong 发表于 2019-5-20 17:08 来自手机 | 显示全部楼层
要么加大塞不爆,要么塞爆前赶处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部