MultiTimer开源定时器(多任务回调)----链表分析

/*
 * 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

你可能感兴趣的:(编程)