问题描述
@H_502_0@我是 freertos 世界的新手,我必须做一个项目,其中包括一个测量温度的自动酒精分配器。我的项目的零件/传感器是:
@H_502_0@该项目的想法是,当有人进入设备15厘米以内时,屏幕上显示温度,舵机移动并可以分配酒精,蜂鸣器发出一点声音。
@H_502_0@据我所知,我必须为每个活动创建一个任务。一个用于测量温度并可能将该信息发送到队列,另一个用于读取队列并将其显示在屏幕上,另一个用蜂鸣器发出声音,另一个用超声波测量距离,另一个用于移动伺服。
@H_502_0@这就是我被要求这样做的方式,但我的问题是组织任务的最佳方式是什么?
@H_502_0@我如何做到这一点......
@H_502_0@任务之间通信的最佳方式是什么(当一个任务的尺寸小于 15 厘米时,告诉另一个任务测量温度,然后显示在显示屏上,伺服器移动并发出声音)? >
@H_502_0@我想看看你是怎么想的,这对我有很多了解。
@H_502_0@我对这个主题很陌生,我很难思考哪种方法是最好的。我希望能提供不涉及复杂内容的简单解决方案,因为我在使用 freeRTOS 时遇到了困难。
解决方法
这似乎是一个相当简单的系统,因为所有工作都可以按顺序完成(即一件接一件发生)。您当然不需要为按顺序完成的活动使用专用任务。事实上,迄今为止最简单的架构是有一个单一的任务,循环运行,做所有事情。我强烈建议您从这种方法开始,然后构建一些有用的东西。
然后,当您在单个任务中按顺序工作后,重新考虑您的选择。它可能是完美的架构,也可能需要一些细微的调整。你会更容易做出判断。