本工程使用链表创建了一个软件定时器, 利用链表的数据结构特征, 可以轻松实现极大量的定时器更新.
同时, 由于链表易于追加的特性, 我们可以很轻松地对它进行二次开发, 自由度极高.
如何使用 How to use?
-
创建一个结构体, 用于定义软件定时器, 并对其通过api进行初始化, 用于设置指定的触发次数.
//创建定时器结构体 softTimer_t timer_1; //设定定时触发值 softTimer_setup(&timer_1, 100); -
创建一个回调函数, 并将其注册进对应的软件定时器,用于在定时触发时,调用该回调函数.
//创建回调函数 void timer1Callback(){ static int counter = 0; counter++; printf("timer1 update : %d\r\n", counter); } //将回调函数注册进指定的软件定时器 softTimer_attach(&timer_1, timer1Callback); -
将定时器的tick节拍函数放置于一个稳定的定时中断之中.
//假设此处的定时中断为1ms触发一次, 则前文创建的软件定时器1为每100ms触发一次. while(1){ delay_ms(1);

最低0.47元/天 解锁文章
1361

被折叠的 条评论
为什么被折叠?



