#include "easy_timer.h" #include list_t easy_timer_list; void (*easy_timer_sleep_func)(void) = NULL; void easy_timer_core() { list_node_t *node = (list_node_t *)easy_timer_list; while (node != NULL) { _easy_timer_t *obj = (_easy_timer_t *)node->data; if (obj->time_start == 0) { continue; } if (obj->time_wait_now < obj->time_wait_cfg) { obj->time_wait_now += 1; } else { obj->time_wait_now = 0; obj->timer_handler(); if (obj->time_out == 1) { obj->time_start = 0; } } node = node->next; } if (easy_timer_sleep_func != NULL) { easy_timer_sleep_func(); } }