单片机时钟如何倒计时

时间:2024-10-18 15:19:20

1、使用MCU提供的软定时器,根据系统的时钟频率封装出一秒响应一次的软定时器T1。

2、在T1实现:timer(){ staticint tick++; for(i=0;i<MAX;i++) if(eventlist[i].timeout>= tick) { eventlist[i].cb eventlist[i].timeout = 0 }}1. 每次进入(1s)实现staticint tick++;2. 查看eventlist是否有timeout任务中实现AddTask(time_s, callback fun){ eventlist[0].timeout = tick+time_s eventlist[0].cb = fun}

3、当需要实现倒计时时调用AddTask()

© 手抄报圈