初来乍到,意外弄了一份代码,还挺好用。懂的朋友拿走,废话不多说直接撸代码!- #include "timesysto.h"
- struct Timer timer1;
- struct Timer timer2;
- void timer1_callback()
- {
- printf("timer1 timeout!\r\n");
- }
- void timer2_callback()
- {
- printf("timer2 timeout!\r\n");
- }
- int main()
- {
- timer_init(&timer1, timer1_callback, 1000, 1000); //1s loop
- timer_start(&timer1);
-
- timer_init(&timer2, timer2_callback, 50, 0); //50ms delay
- timer_start(&timer2);
-
- while(1) {
-
- timer_loop();
- }
- }
复制代码
|
这个定时器模块在amobbs看过。
原理就是使用单链把所有用户定时器串联起来!
其实个人觉得应该加多一个尾链比较好!因为每次增加一个定时器,你必须要查询到链的末端才能完成init
功能,如果加多一个尾节点,只需要对尾节点的前一个链的末端进行接驳就好了!
谢谢建议,意外收获自阿莫,你说的那个我也有,过段时间发
看好,共用一个
另外一份完善一些的代码你有吗?麻烦发一下,谢谢谢谢