1、contiki系统计时器
本身不提供计时器时间的支持,因此,应用程序要通过调用定时器库来使用定时器。
定时器库提供定时设置,重设,重启等功能,并且监测定时时间是否到达,定时器时间到达,定时库不能直接向系统提交定时事件,要通过事件定时器“ETime”来执行该事件。
事件定时器在contiki系统中定义为ETime结构体,它提供产生系统定时事件的触发源。事件定时器一般声明为结构体变量指针,通过指针访问事件定时器。
时间测量功能由clock library 提供。
(1)、etimer_set()
core\sys\etimer.c中,
void
etimer_set(struct etimer *et, clock_time_t interval)
{
timer_set(&et->timer, interval);
add_timer(et);
}
该函数用来设置事件定时器的初始值。
(2)、timer_set()
timer.c中,
/**
* Set a timer.
*
* This function is used to set a timer for a time sometime in the
* future. The function timer_expired() will evaluate to true after
* the timer has expired.
*
* \param t A pointer to the timer
* \param interval The interval before