RTX51 Tiny用户指南(五)

示例

RTX51 Tiny包含多个示例项目帮助开发者开始使用RTX Tiny。

每个示例分开存储在\KEIL\C51\RTXTINY2\EXAMPLES\文件夹下,包含µVision project文件帮助开发者快速创建和运行程序。

以下示例程序是自动安装的:

  1. RTX_EX1

这个项目使用RTX Tiny示范round-robin多任务。

  1. RTX_EX2

这个项目示范如何使用os_wait函数和signal传递。

  1. TRAFFIC

这个项目示范如何使用RTX Tiny控制交通信号灯。

 

RTX1_EX1示例

RTX_EX1是一个使用µVision的RTX51 Tiny示例。示范使用round-robin多任务的RTX51 Tiny程序,由一个源文件组成,RTX_EX1.C。工程的所有文件位于\KEIL\C51\RTXTINY2\EXAMPLES\EX1\文件夹下。

使用µVision build RTX_EX1

  1. 启动µVision IDE并打开RTX_EX1.UV2工程。

RTX51 Tiny用户指南(五)_第1张图片

  1. 选择Project — Build Target对RTX_EX1进行编译和连接。

从命令行build RTX_EX1

  1. 编译RTX_EX1.C源文件。
  2. 连接RTX_EX1.OBJ目标文件。

RTX_EX1程序被编译和连接后,就可以使用µVision Debugger进行测试。

 

RTX_EX2示例

RTX_EX2是一个使用µVision的RTX51 Tiny示例。示范如何使用os_wait函数和signal传递。

RTX_EX2由一个源文件组成,RTX_EX2.C。工程的所有文件位于\KEIL\C51\RTXTINY2\EXAMPLES\EX2\文件夹下。

使用µVision build RTX_EX2

  1. 启动µVision IDE并打开RTX_EX2.UV2工程。
  2. 选择Project — Build Target对RTX_EX2进行编译和连接。

从命令行build RTX_EX2

  1. 编译RTX_EX2.C源文件。
  2. 连接RTX_EX2.OBJ目标文件。

RTX_EX2程序被编译和连接后,就可以使用µVision Debugger进行测试。

 

Traffic示例

TRAFFIC示例是一个交通灯控制器。比RTX_EX1和RTX_EX2示例更加复杂,不使用像RTX51 Tiny这样的多任务实时操作系统时无法轻易执行的。

TRAFFIC是一个时间控制的交通灯控制器,根据用户定义的时钟周期运行。超出这个周期,黄灯闪烁。如果行人按下请求按钮,交通灯立即切换为"walk(步行)"状态。否则,交通灯循环执行。

交通灯控制器命令

可以通过8051的串口接口与交通灯控制器通信。可以使用调试器的Serial Window测试交通灯控制器命令。

下表的串口命令是有效的。这些命令由ASCII文本字符组成。所有命令必须使用回车结尾。

命令

串口文本

描述

Display(显示)

D

显示clock, startending 时间

Time(时间)

T hh:mm:ss

设置当前时间,按24小时格式。

Start(开始)

S hh:mm:ss

设置开始时间,按24小时格式。交通灯控制器在起始时间和结束时间段内正常运行。这些时间之外,黄灯闪烁。

End(结束)

E hh:mm:ss

设置结束时间,按24小时格式。

源文件

TRAFFIC应用程序由3个源文件组成,可以在\KEIL\C51\RTXTINY2\EXAMPLES\TRAFFIC\文件夹找到。

  1. TRAFFIC.C包含交通灯控制器程序分为以下任务。
    1. Task 0 Initialize:初始化串行接口并启动所有其它的任务。任务0删除自身,初始化只需要一次。
    2. Task 1 Command:是交通灯控制器命令处理程序,这个任务控制并处理串口接收到的命令。
    3. Task 2 Clock:控制时钟。
    4. Task 3 Blinking:当时钟超过有效时间范围时控制黄灯闪烁。
    5. Task 4 Lights:当时钟时间在有效时间范围内时(开始和结束之间),控制交通灯灯相。
    6. Task 5 Button:读取行人按下按钮,并给lights任务发送信号。
    7. Task 6 Quit:检查串行流上的ESC字符。如果遇到,此任务终止先前指定的显示命令。
  2. SERIAL.C执行驱动串行接口的中断。这个函数包含putchar和getchar函数。高级I/O函数printf和getline调用这些基础程序。交通灯应用也可以不使用中断驱动串行I/O。但是不会表现的很好。
  3. GETLINE.C是从串口接收到字符的命令行编辑器。这个源文件可以被MEASURE应用使用。

使用µVision build TRAFFIC

  1. 在µVision IDE中打开TRAFFIC.UV2。
  2. 选择Project — Build Target编译并连接TRAFFIC

TRAFFIC程序被编译和连接后,就可以使用µVision Debugger进行测试。

 

你可能感兴趣的:(嵌入式系统)