4.2. 用户定时器
系统定时器(又名:硬件定时器),由tick timer提供时基的硬件定时器。
4.2.1. usr_timer_add
- 功能: 获取比打印当前系统运行时间。
1、usr_timer的参数priority(优先级)为1,使用该类定时器,系统无法进入低功耗;
2、usr_timer的参数priority(优先级)为0,使用该类定时器,系统低功耗会忽略该节拍,节拍不会丢失,但是定时周期会变;
3、usr_timer属于异步接口, add的时候注册的扫描函数将在硬件定时器中时基到时候被调用;
4、对应释放接口usr_timer_del。
5、定时到后会自动重新加载。
u16 usr_timer_add(void *priv, void (*func)(void *priv), u32 msec, u8 priority);
参数:
priv
定时任务处理函数的输入参数
func
定时任务处理函数
msec
定时时间
priority
优先级,范围:0/1
返回值
NULL
示例:
void timer_callback(void *p) {
//TODO
}
u16 id = usr_timer_add(NULL, timer_callback, 10, 0);
4.2.2. usr_timer_del
功能: usr_timer删除接口。
void usr_timer_del(u16);
参数:
id
要删除的任务ID
返回值
void
示例:
usr_timer_del(id);
4.2.3. usr_timer_modify
功能: usr_timerout修改超时时间接口
int usr_timer_modify(u16 id, u32 msec);
参数:
id
要删除的任务ID
msec
定时时间,单位:毫秒
返回值
void
示例:
usr_timer_modify(id, 10);
4.2.4. usr_timeout_add
- 功能: 获取比打印当前系统运行时间。
1、usr_timer的参数priority(优先级)为1,使用该类定时器,系统无法进入低功耗;
2、usr_timer的参数priority(优先级)为0,使用该类定时器,系统低功耗会忽略该节拍,节拍不会丢失,但是定时周期会变;
3、usr_timer属于异步接口, add的时候注册的扫描函数将在硬件定时器中时基到时候被调用;
4、对应释放接口usr_timer_del。
5、timeout回调只会被执行一次。
u16 usr_timer_add(void *priv, void (*func)(void *priv), u32 msec, u8 priority);
参数:
priv
定时任务处理函数的输入参数
func
定时任务处理函数
msec
定时时间
priority
优先级,范围:0/1
返回值
NULL
示例:
void timer_callback(void *p) {
//TODO
}
u16 id = usr_timeout_add(NULL, timer_callback, 10, 0);
4.2.5. usr_timeout_del
功能: usr_timeout删除接口。
void usr_timeout_del(u16);
参数:
id
要删除的任务ID
返回值
void
示例:
usr_timeout_del(id);
4.2.6. usr_timeout_modify
功能: usr_timerout修改超时时间接口
int usr_timeout_modify(u16 id, u32 msec);
参数:
id
要删除的任务ID
msec
定时时间,单位:毫秒
返回值
void
示例:
usr_timeout_modify(id, 10);