/*
* Copyright (c) 2016 https://blog.csdn.net/Wekic
* All rights reserved
*/
#ifndef _MULTI_TIMER_H_
#define _MULTI_TIMER_H_
#include "stdint.h"
#include "stddef.h"
typedef struct Timer {
uint32_t timeout; //超时时间
uint32_t repeat; //重置时间
void (*timeout_cb)(void); //回调任务函数
struct Timer* next; //下一个任务
}Timer;
#ifdef __cplusplus
extern "C" {
#endif
void timer_init(struct Timer* handle, void(*timeout_cb)(), uint32_t timeout, uint32_t repeat);
int timer_start(struct Timer* handle);
void timer_stop(struct Timer* handle);
void timer_ticks(void);
void timer_loop(void);
// void timer_again(struct Timer* handle);
// void timer_set_repeat(struct Timer* handle, uint32_t repeat);
#ifdef __cplusplus
}
#endif
#endif
/*
* Copyright (c) 2020 https://blog.csdn.net/Wekic
* All rights reserved
*/
#include "multi_timer.h"
//timer handle list head.
static struct Timer* head_hand