一、定义定时器:
static struct etimer timer;
etimer定义如下:
struct etimer {
struct timer timer;
struct etimer *next;
struct process *p;
};
二、设置定时器:
CCIF void etimer_set(struct etimer *et, clock_time_t interval);
et:etimer指针
interval:定时器触发间隔
这个函数用来设定时器,以设定的触发间隔周期生成PROCESS_EVENT_TIMER事件
三、复位定时器:
CCIF void etimer_reset(struct etimer *et);
四、停止定时器
void etimer_stop(struct etimer *et);
五、示例:
PROCESS_THREAD(xxx_process, ev, data)
{
static struct etimer timer;
int count=1;
PROCESS_BEGIN();
//设置定时器定时为3s
etimer_set(&timer, CLOCK_SECOND * 3);
while (1) {
PROCESS_WAIT_EVENT();
if(ev == PROCESS_EVENT_TIMER)
{
//DO SOMETHING
printf("Event Timer Expired:%d" , count++);
}
etimer_reset(&timer);
}
PROCESS_END();
}