4.1. 系统定时器
系统定时器(又名:软件定时器)。
4.1.1. sys_timer_add
- 功能: 添加系统非timeout类型定时任务。
1、sys_timer由tick timer提供时基,属于同步接口,当定时时间到时,sys_timer模块,会发送call event,通知主函数进行回调函数处理,主循环调用sys_event_get接口时,内部会拦截call event进行函数调用(callback)
2、与sys_timer_del成对使用。
u16 sys_timer_add(void *priv, void (*func)(void *priv), u32 msec);
参数:
priv
定时任务处理函数的输入参数
func
定时任务处理函数
msec
定时时间
返回值
定时器分配的ID
示例:
void timer_callback(void *p) {
//TODO
}
u16 id = sys_timer_add(NULL, timer_callback, 10);
4.1.2. sys_timer_del
功能: 删除ms级非timeout类型定时任务。
void sys_timer_del(u16);
参数:
id
要删除的任务ID
返回值
void
示例:
sys_timer_del(id);
4.1.3. sys_timeout_add
- 功能: 添加ms级系统timeout类型定时任务。
1、sys_timer由tick timer提供时基,属于同步接口,当定时时间到时,sys_timer模块,会发送call event,通知主函数进行回调函数处理,主循环调用sys_event_get接口时,内部会拦截call event进行函数调用(callback)
2、timeout回调只会被执行一次;
3、与sys_timerout_del成对使用。
u16 sys_timeout_add(void *priv, void (*func)(void *priv), u32 msec);
参数:
priv
定时任务处理函数的输入参数
func
定时任务处理函数
msec
定时时间
返回值
定时器分配的ID
示例:
void timeout_callback(void *p) {
//TODO
}
u16 id = sys_timeout_add(NULL, timeout_callback, 10);
4.1.4. sys_timeout_del
功能: 删除ms级timeout类型定时任务。
void sys_timeout_del(u16);
参数:
id
要删除的任务ID
返回值
void
示例:
sys_timeout_del(id);
4.1.5. sys_timer_modify
功能: 修改ms级定时任务定时时间。
int sys_timer_modify(u16 id, u32 msec);
参数:
id
要获取处理函数的输入参数值的任务ID。
msec
定时时间
返回值
NULL
示例:
sys_timer_modify(id, 10);
4.1.6. sys_timer_dump
功能: sys_time输出调试信息。
void sys_timer_dump(void);
参数:
返回值
NULL
示例:
sys_timer_dump();