主页 文档 下载 莱特 沙龙 English

RTESM文档
RTEMS精彩应用
RTEMS版权说明
其他RTOS
ARM/DSP专区
AVR/FPGA/PCB
嵌入式文件系统
ARM AVR仿真器DIY
莱特电子工作室
联系我们
 


RTEMS 任务管理指令:定时操作

作者 Ray

RTEMS版权所有,转载请注明来源www.rtems.net,作者Ray

9.4.13: TASK_WAKE_AFTER- 在指定时间间隔后唤醒

函数原型 :

rtems_status_code rtems_task_wake_after(
rtems_interval ticks
);

返回值代表的状态:

RTEMS_SUCCESSFUL- 该函数的返回值总是RTEMS_SUCCESSFUL

描述:

该函数将任务阻塞一段时间。阻塞的时间使用ticks指定,该参数是一个32位的无符号整数,它代表的实际时间长度和系统时钟相关。 当指定的间隔到达,任务从阻塞态变成ready态。 rtems_clock_tick函数指令能自动地更新时间延迟周期。

注意:

使用rtems_clock_set函数设定系统日期和时间将不会对rtems_task_wake_after产生任何影响。

如果函数参数ticks设置成RTEMS_YIELD_PROCESSOR,那么函数将直接从运行态进入ready队列中,等待下次调度。

时间间隔的最大值不能超过rtems_unsigned32类型的最大值。

为了使用这个函数,必须在BSP中实现实时时钟。

9.4.14: TASK_WAKE_WHEN- 在指定的时间唤醒睡眠任务

函数原型 :

rtems_status_code rtems_task_wake_when(
rtems_time_of_day *time_buffer
);

返回值代表的状态:

RTEMS_SUCCESSFUL- 在参数制定的日期/ 时间成功地唤醒任务

RTEMS_INVALID_ADDRESS- time_buffer是空值

RTEMS_INVALID_TIME_OF_DAY- time_buffer数值无效

RTEMS_NOT_DEFINED- 系统日期和时间设置没有被正确的设置

描述:

该函数将调用者自己阻塞,直到time_buffer指定定的时间才唤醒该任务。唤醒后,任务将进入ready状态。

注意:

time_buffer结构中ticks字段是没有作用的,因为该函数的时间粒度是以秒为单位。

为了使用这个函数,必须在BSP中实现实时时钟。

 
嵌入式软硬件设计咨询 • 8位 16位 32位 64位 RISC DSP
主页文章 方案 产品 下载反馈
 
2004 RTEMS.NET 版权所有