需要做一个定时器,0-700天

2020-02-06 10:18发布


项目中需要实现长定时,定时范围在0-750天,以天为单位,实现的功能是针对故意拖欠质保金的客户自动关闭设备的某些功能而不能正常使用,

如果将设定的天数换算成年、月、日三个量,然后用这三个量去和时钟芯片的时间对比,对应的值变化就将对应的年月日值减1,减到0为止。但

这个方法在修改了系统时钟的情况下显得毫无用处,而且当设备停电了,这个算法也不准确了,所以想请教大家有没有做过这样的:设定的倒计时

时间不受修改了系统时间的影响,并且不受设备停电的影响(就是讲即使你今天停机没用也算你用了一天了)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
80条回答
XA144F
2020-02-13 01:05
以stm32为例吧,设置时间戳和TAG标记,全部放在BKP寄存器中。
定时器中断,每小时读取一次时间,这时的要求是:
1.检查TAG标记完好(比如等于0x1234ABCD)。
2.读取的时间大于保存的时间戳的时间(保证时间是向前变化的),并且小于使用期限的时间。
那么将读取的时间作为时间戳覆盖原来的内容。
如果妄图修改时间来达到延长使用时间的目的,那就只有把时间该到以前,但程序读取的结果和时间戳一比较就知道你作弊,立即锁死。
如果想扣电池,那么TAG标记丢失,表示你试图crack,立即锁死。

一周热门 更多>