1 Star 0 Fork 8

Anderson/vtor_elec_module

forked from vtor3478/vtor_elec_module 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vtor_timer.h 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef __VTOR_TIMER_H__
#define __VTOR_TIMER_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "vtor_elec_module_config.h"
#ifdef __VTOR_TIMER__
#define VTOR_TIMER_STATE_STOP 0
#define VTOR_TIMER_STATE_START 1
#define VTOR_TIMER_STATE_WAITING 2
#define VTOR_TIMER_STATE_READY 3
#define VTOR_TIMER_STATE_RUNNING 4
typedef void (*VtorTimerFun)(void);
typedef struct
{
VtorTimerFun fun; // 将要执行的函数
uint32_t interval; // 当计次达到interval,执行fun函数
uint8_t state; // 状态
uint32_t curTime; // 当前计次
uint32_t runCnt; // 本函数运行次数
uint32_t runTime; // 完成本次任务耗时多久
}VtorTimer;
void VtorTimer_VoidFun(void);
// 一直指向所有任务的头,不可更改
extern VtorTimer* vtorTimerHeader;
// 实际任务运行
void VtorTimer_Schedule(void);
// 时间片运行
void VtorTimer_IncTick(uint32_t tick);
void VtorTimer_Init(void);
uint32_t VtorTimer_GetTick(void);
uint32_t VtorTimer_GetCnt(void);
VtorTimer* VtorTimer_Restart(VtorTimerFun fun, uint32_t interval);
VtorTimer* VtorTimer_Start(VtorTimerFun fun, uint32_t interval);
void VtorTimer_RunNow(VtorTimerFun fun);
void VtorTimer_Stop(VtorTimerFun fun);
void VtorTimer_Delete(VtorTimerFun fun);
VtorTimer* VtorTimer_GetRunningTimer(void);
VtorTimer* VtorTimer_GetTimerByFun(VtorTimerFun fun);
void VtorTimer_StopCallback(VtorTimerFun fun);
void VtorTimer_StartCallback(VtorTimerFun fun);
#endif // __VTOR_TIMER__
#ifdef __cplusplus
}
#endif
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Thomas_Ti/vtor_elec_module.git
git@gitee.com:Thomas_Ti/vtor_elec_module.git
Thomas_Ti
vtor_elec_module
vtor_elec_module
main

搜索帮助

0d507c66 1850385 C8b1a773 1850385