如何解决如何组织 freeRTOS 项目
我是 freertos 世界的新手,我必须做一个项目,其中包括一个测量温度的自动酒精分配器。我的项目的零件/传感器是:
- DHT22 温度(我知道它不理想,但它是唯一的 我有)。
- Hc-sr04 用于距离测量(超声波)。
- I2c 显示 16x2 以显示温度。
- 蜂鸣器发出声音。
- 伺服分配酒精。
该项目的想法是,当有人进入设备15厘米以内时,屏幕上显示温度,舵机移动并可以分配酒精,蜂鸣器发出一点声音。
据我所知,我必须为每个活动创建一个任务。一个用于测量温度并可能将该信息发送到队列,另一个用于读取队列并将其显示在屏幕上,另一个用蜂鸣器发出声音,另一个用超声波测量距离,另一个用于移动伺服。
这就是我被要求这样做的方式,但我的问题是组织任务的最佳方式是什么?
我如何做到这一点......
- 首先测量距离,
- 然后测量温度,
- 然后显示在显示屏上,
- 伺服被移动并发出声音?
任务之间通信的最佳方式是什么(当一个任务的尺寸小于 15 厘米时,告诉另一个任务测量温度,然后显示在显示屏上,伺服器移动并发出声音)?
>我想看看你是怎么想的,这对我有很多了解。
我对这个主题很陌生,我很难思考哪种方法是最好的。我希望能提供不涉及复杂内容的简单解决方案,因为我在使用 freeRTOS 时遇到了困难。
解决方法
这似乎是一个相当简单的系统,因为所有工作都可以按顺序完成(即一件接一件发生)。您当然不需要为按顺序完成的活动使用专用任务。事实上,迄今为止最简单的架构是有一个单一的任务,循环运行,做所有事情。我强烈建议您从这种方法开始,然后构建一些有用的东西。
然后,当您在单个任务中按顺序工作后,重新考虑您的选择。它可能是完美的架构,也可能需要一些细微的调整。你会更容易做出判断。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。