单片机时钟如何倒计时

时间:2026-02-18 18:08:20

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()

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com