|
|
|
|
@ -4,7 +4,7 @@
|
|
|
|
|
MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。
|
|
|
|
|
|
|
|
|
|
## 使用方法
|
|
|
|
|
1.配置定时器tick时钟频率(1个tick代表N毫秒钟)
|
|
|
|
|
1.在multi_timer.h中配置定时器tick时钟频率(即1个tick代表N毫秒钟)
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
/*
|
|
|
|
|
@ -54,8 +54,19 @@ int main()
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 功能限制
|
|
|
|
|
1.定时器的时钟频率直接影响定时器的精确度,尽可能采用1ms/5ms/10ms这几个精度较高的tick;
|
|
|
|
|
|
|
|
|
|
2.定义应用定时器时,超时时间应合理设置,不应过大或过小,否则可能导致定时器超时时间不精准;
|
|
|
|
|
|
|
|
|
|
3.定时器的回调函数内不应执行耗时操作,否则可能因占用过长的时间,导致其他定时器无法正常超时;一般来说,若干个tick的时间是可以接受的;
|
|
|
|
|
|
|
|
|
|
4.由于定时器的回调函数是在timer_loop内执行的,需要注意栈空间的使用不能过大,否则可能会导致栈溢出。
|
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
|
|
见example目录下的测试代码,main.c为普通平台测试demo,test_linux.c为linux平台的测试demo。
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
#include "multi_timer.h"
|
|
|
|
|
|
|
|
|
|
|