打印
[uCOS/RTOS]

关于队列问题

[复制链接]
1177|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我想利用采集数据的任务给数据处理任务发生数据。
我的想法是用队列发送。
但看了些简单的教程。它是这么做的。定义个队列的指针,再定义个最大的数组(这个数组我不太明白干什么的)。
在发送数据的时候,先MALLOC了个内存,然后赋值字符串。接着发送这个指针。
我的就感觉不一样。因为我是要发送很多数据过去的。而且一次也发不完,这样怎么发过去??
千万不要覆盖它。

相关帖子

沙发
xiaomi999999| | 2017-2-1 15:59 | 只看该作者
1.可以用两个数据缓冲区,一个满了发出去,再添另一个。
2.一个环形的队列,添加一个半满标志(用于发送)。
3.一个环形的队列,队列不空时就发送也行,不过就得轮询检查有无空。

使用特权

评论回复
板凳
icecut| | 2017-2-1 18:06 | 只看该作者
你看的教程的确不能用.你申请一个小内存,赋值,然后加到队列里....等用完后释放内存

使用特权

评论回复
地板
renxiaolin| | 2017-2-4 17:31 | 只看该作者
楼上说的有道理,你要大量频繁发数据,按你的描述,就要不停的malloc,这样必然会不停的free,一个malloc的时间话费大,实时性会有问题,另一个长时间这么搞会有内存碎片呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

112

帖子

0

粉丝