Есть ли способ установить таймер, не помещая его в процесс В 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);из некоторого кода инициализации. Это не обязательно должно быть в функции обработчика процесса.

Другие вопросы по тегам