12.4.2 RTX-51 Tiny的事件

RTX-51 Tiny中使用事件来进行任务管理,其支持的事件包括超时TIMEOUT、时间间隔INTERVAL和信号SIGNAL。这些事件一般在os_wait函数中使用,分别介绍如下。

❑超时TIMEOUT:主要用于os_wait函数开始的时间延时,由RTX-51 Tiny的定时器脉冲来确定持续时间。如果一个任务调用os_wait函数时带有TIMEOUT参数,则其将被挂起,当延时结束时将返回到READY状态并可以被再次运行。

❑时间间隔事件INTERVAL:主要用于os_wait函数开始的时间间隔,由RTX-51 Tiny的定时器脉冲来确定间隔延时时间。RTX-51系统的定时器是不复位的,定时器一直处于运行状态,因此事件INTERVAL将同样一直工作,这与TIMEOUT不同。如果某个任务需要在同步间隔内执行,则可以使用时间间隔事件INTERVAL来完成。

❑信号SIGNAL:信号SIGNAL为位变量,主要用于多任务之间的通信。在RTX-51 Tiny系统中,可以使用系统函数置位或者清除信号SIGNAL位。一个任务在运行前可以使用os_wait函数来等待信号SIGNAL置位,如果信号SIGNAL未置位,则该任务将不执行;如果信号SIGNAL置位,该任务返回到READY状态,并可以被RTX-51 Tiny再次执行。

从上面介绍可以看出,这些事件一般在RTX-51的os_wait函数中使用。