主页 文档 下载 莱特 沙龙 English

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


时间函数

作者 Ray

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

11.4: 函数

  • CLOCK_SET- 系统日期和时间的置位
  • CLOCK_GET- 得到系统时间和日期信息
  • CLOCK_TICK- 发布一个时钟滴哒

11.4.1: CLOCK_SET- 设置系统日期和时间

函数原型:

rtems_status_code rtems_clock_set(

rtems_time_of_day *time_buffer

);

返回值代表的状态:

RTEMS_SUCCESSFUL- 成功

RTEMS_INVALID_ADDRESS- time_buffer 是空值

RTEMS_INVALID_TIME_OF_DAY- 时间格式不正确

描述 :

该函数设定系统日期和时间。 time_buffer 数据结构的日期 , 时间和滴哒的有效范围都会进行测试 , 任何一个无效 , 函数都会返回错误码。

注意:

1988之前的年份是无效的。

设置时间可能导致因为时钟而等待的任务满足被唤醒的条件而引发调度。

重新始化 RTEMS 会导致系统日期和时间被重新设定未始化的状态。需要重新调用 rtems_clock_set 设置系统时间。

11.4.2: CLOCK_GET-获取系统时间信息

函数原型:

rtems_status_code rtems_clock_get(

rtems_clock_get_options option,

void *time_buffer

);

返回值代表的状态 :

RTEMS_SUCCESSFUL- 成功地获得当前的时间

RTEMS_NOT_DEFINED- 系统日期和时间还没有初始化设定

RTEMS_INVALID_ADDRESS- time_buffer 是空值

描述:

该函数获得系统日期和时间。 如果调用者使用参数(RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH , RTEMS_CLOCK_GET_TOD 或 RTEMS_CLOCK_GET_TIME_VALUE)尝试获得日期,如果系统时钟还没有使用rtems_clock_set 初始化,那么函数返回RTEMS_NOT_DEFINED 。系统使用 RTEMS_CLOCK_GET_TICKS_PER_SECOND获取每个滴哒的微秒数。使用RTEMS_CLOCK_GET_TICKS_SINCE_BOOT获取系统启动后的滴哒数.

参数可决定time_buffer的结构格式,他们的关系如下所示:

RTEMS_CLOCK_GET_TOD - ( rtems_time_of_day*)

RTEMS_CLOCK_GET_TIME_VALUE - ( rtems_clock_time_value*)

RTEMS_CLOCK_GET_TICKS_SINCE_BOOT - ( rtems_interval*)

RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH - ( rtems_interval*)

RTEMS_CLOCK_GET_TICKS_PER_SECOND - ( rtems_interval*)

注意:

该函数可以从 ISR 调用。

11.4.3: CLOCK_TICK- 发布一个时钟滴哒

函数原型 :

rtems_status_code rtems_clock_tick( void );

返回值代表的状态 :

RTEMS_SUCCESSFUL- 时钟滴哒成功地被系统处理

描述:

该函数向系统宣布一个系统时钟滴哒已经过去。该函数通常在计时器中断ISR中调用。该函数维持系统日期和时间,为延迟任务,超时,单调周期调度、分时复用等功能提供倒计时。

注意:

该函数从 ISR 中调用。

系统配置表格的 microseconds_per_tick 和 ticks_per_timeslice 参数包含每滴哒和时间片的配置信息。

 

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