Есть ли способ установить таймер, не помещая его в процесс В COTIKI OS
возможно ли сделать то же самое без какого-либо процесса? Мне нужен тайм-аут без включения его в процесс q, это возможно, пожалуйста?
#include "sys/etimer.h"
PROCESS_THREAD(example_process, ev, data)
{
static struct etimer et;
PROCESS_BEGIN();
/* Delay 1 second */
etimer_set(&et, CLOCK_SECOND);
while(1) {
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
/* Reset the etimer to trig again in 1 second */
etimer_reset(&et);
/* ... */
}
PROCESS_END();
}
1 ответ
Вы можете использовать таймеры обратного вызова :
struct ctimer my_timer;
static void
callback_function(void *data)
{
ctimer_set(&my_timer, CLOCK_SECOND, callback_function, NULL);
}
Чтобы таймер запустился в первый раз, позвоните
ctimer_set(&my_timer, CLOCK_SECOND, callback_function, NULL);
из некоторого кода инициализации. Это не обязательно должно быть в функции обработчика процесса.