多语言展示
当前在线:1170今日阅读:103今日分享:49

单片机时钟如何倒计时

MCU封装软定时器实现倒计时功能的方法,
方法/步骤
1

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

2

在T1实现:timer(){     static int tick++;    for(i=0;i= 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}

注意事项
1

1. tick会溢出,需要添加预防机制,或其他方式实现;

2

2.多线程调用AddTask时 tick需要有锁的保护

推荐信息