RTEMS 任务管理指令:定时操作
RTEMS版权所有,转载请注明来源www.rtems.net,作者ray@rtems
%A 9.4.13: TASK_WAKE_AFTER- 在指定时间间隔后唤醒
%A
%A 函数原型 :
%A
%A rtems_status_code rtems_task_wake_after(
%A rtems_interval ticks
%A );
%A
%A 返回值代表的状态:
%A
%A RTEMS_SUCCESSFUL- 该函数的返回值总是RTEMS_SUCCESSFUL
%A
%A 描述:
%A
%A 该函数将任务阻塞一段时间。阻塞的时间使用ticks指定,该参数是一个32位的无符号整数,它代表的实际时间长度和系统时钟相关。 当指定的间隔到达,任务从阻塞态变成ready态。 rtems_clock_tick函数指令能自动地更新时间延迟周期。
%A
%A 注意:
%A
%A 使用rtems_clock_set函数设定系统日期和时间将不会对rtems_task_wake_after产生任何影响。
%A
%A 如果函数参数ticks设置成RTEMS_YIELD_PROCESSOR,那么函数将直接从运行态进入ready队列中,等待下次调度。
%A
%A 时间间隔的最大值不能超过rtems_unsigned32类型的最大值。
%A
%A 为了使用这个函数,必须在BSP中实现实时时钟。
%A 9.4.14: TASK_WAKE_WHEN- 在指定的时间唤醒睡眠任务
%A
%A 函数原型 :
%A
%A rtems_status_code rtems_task_wake_when(
%A rtems_time_of_day *time_buffer
%A );
%A
%A 返回值代表的状态:
%A
%A RTEMS_SUCCESSFUL- 在参数制定的日期/ 时间成功地唤醒任务
%A
%A RTEMS_INVALID_ADDRESS- time_buffer是空值
%A
%A RTEMS_INVALID_TIME_OF_DAY- time_buffer数值无效
%A
%A RTEMS_NOT_DEFINED- 系统日期和时间设置没有被正确的设置
%A
%A 描述:
%A
%A 该函数将调用者自己阻塞,直到time_buffer指定定的时间才唤醒该任务。唤醒后,任务将进入ready状态。
%A
%A 注意:
%A
%A time_buffer结构中ticks字段是没有作用的,因为该函数的时间粒度是以秒为单位。
%A
%A 为了使用这个函数,必须在BSP中实现实时时钟。
%A%A
%A
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。