找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 959|回复: 5
打印 上一主题 下一主题
收起左侧

问下大伙RTOS程序逻辑能这么写吗?

[复制链接]
跳转到指定楼层
楼主
ID:885416 发表于 2022-3-17 20:16 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如一个pid操作,
在rtos里,任务a负责采集,采集够了发给采集消息队列,让后继续采集,
任务b负责滤波,一直等待采集消息队列穿数据过来,有数据就处理,没数据就阻塞,当有数据来处理完了,用只有一个容量的滤波消息队列,告诉pid任务滤波数据完成了,

任务c就是pid任务,只有一个容量的滤波消息队列告诉他滤波完成数据来了,就开始执行pid计算,控制pid输出,

这里我的疑惑就是首先第一点是这个任务abc流程有问题吗,第二点是如果滤波完成的数据,还要涉及给其他数据上传任务,需要把滤波后的数据上传,我再加一个只有一个容量的消息队列,允许覆盖的那种,让那个上传任务读这个队列也是没问题的吧。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:301191 发表于 2022-3-17 23:22 | 只看该作者
顶一下
回复

使用道具 举报

板凳
ID:883242 发表于 2022-3-18 00:36 | 只看该作者
没人回答是因为你自己都规划好了那就试试看呗。怎么写更好跟你的资源有关系,比如任务a要把所有数据都采集完才送给任务b,这个消息队列是挺浪费空间的,但是如果你ram足够这么做也无可非议。你什么都不说,就讲这个框架,别人无法判别。
回复

使用道具 举报

地板
ID:885416 发表于 2022-3-18 02:14 来自手机 | 只看该作者
Hephaestus 发表于 2022-3-18 00:36
没人回答是因为你自己都规划好了那就试试看呗。怎么写更好跟你的资源有关系,比如任务a要把所有数据都采集 ...

看情况吧,其实采集可以弄个大内存,分成小块,每次采集一些到一个小块,把这个小块的地址通过消息队列传出,让后采集任务采集往下一个小块采集,这样消息队列只传输指针,让后采集任务复用内存。我是这么想的,但是没试过,应该可以的。
回复

使用道具 举报

5#
ID:885416 发表于 2022-3-18 15:04 来自手机 | 只看该作者
来个大佬
回复

使用道具 举报

6#
ID:301191 发表于 2022-3-24 01:53 | 只看该作者
顶一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表