1、使用MCU提供的软定时器,根据系统的时钟频率封装出一秒响应一次的软定时器T1。
2、在T1实现:
timer()
{
static int tick++;
for(i=0;i<MAX;i++)
if(eventlist[i].timeout>= tick)
{
eventlist[i].cb
eventlist[i].timeout = 0
}
}
1. 每次进入(1s)实现static int tick++;
2. 查看eventlist是否有timeout
任务中实现
AddTask(time_s, callback fun)
{
eventlist[0].timeout = tick+time_s
eventlist[0].cb = fun
}
3、当需要实现倒计时时调用AddTask()