如何定义的实时操作系统任务

C

ckto

Guest
大家好,

我将使用FreeRTOS网址做的项目,它具有以下硬件模块。

- 128x64点单LCD图形模块
- 4键(直接键配置)
-红外线打印
-做艺发局透过I2C接口,ADC的每500毫秒

该设备的功能;
-用户可以使用的关键和显示读取DAC的价值
- PC可以要求ADC值/主要地位/液晶显示器通过RS485状态/ USB接口。
-用户可以使用键来触发值为DAC的红外打印。

现在,我不知道如何安排
, 以正确的方式工作。我想我可以做以下方式。

任务定义
1)键盘扫描-键扫描任务,键码主要用于运行任务提供
2)显示-接收任务要求的操作和显示的结果。
3)型ADC -一个任务
, 为确保每500毫秒非AD转换站
4)红外-接收从操作任务的要求,并发送DAC的值IrDA接口
5)操作-任务处理所有的用户界面和提供的请求
, 向其他任务完成了。

我的问题:
任务显示和红外需要从任务副词价值的ADC。在这situration 2任务要求的资源(说这是一个队列)从一个任务。我认为这是没有好处。它增加了实时操作系统的开销
, 使太多的机构的工作沟通。

或我的方式操作的任务是掌握它。它是唯一一个获得由ADC的任务ADC值,然后distrub到其他任务,是必要的。然后
, 我们将不超过一个任务
, 然后有一个连接到ADC的任务。对于这种做法,我有一个疑问。

我认为
, 通常,我们将给lowerest优先的经营任务,因为它应该是一个可以接受的任务响应延迟时间。而且我的第二个办法,最重要的任务,红外任务,优先级低于它应该是。由于红外任务总是等待资源(ADC值从低优先级的任务)。这已经不是什么好,对不对?

请问你给我的意见?预先感谢。有一个美好的一天


 

Welcome to EDABoard.com

Sponsor

Back
Top