单片机时钟如何倒计时
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()
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。