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

2020-02-06 10:18发布


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

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

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

时间不受修改了系统时间的影响,并且不受设备停电的影响(就是讲即使你今天停机没用也算你用了一天了)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
79条回答
zt2012
1楼-- · 2020-02-13 21:14
weichao4808335 发表于 2015-1-11 12:01
楼主要求的是断电情况下也要计算时间的

看楼主的目的,(怕人赖账,定个试用时间),简单的做法就是定工作时间,要是断电,自然就是不工作了,摆在那也没有意义,搞个几百几千个小时的试用时间即可。
要是楼主非要用时钟芯片的信息,是有点小麻烦,看看windows下的某些软件有时间限制的试用,就知道其蛋疼了,我们要是总是改系统时间也是可以总是试用的。我们单片机,方法也是有的,修改时间最后一定要确认吧,确认总有变量要变吧,这个接口一定可以做出来,然后就是策略了,应该不复杂了。
a_y_ang
2楼-- · 2020-02-14 02:55
52楼的思路可以考虑一下
fiddly
3楼-- · 2020-02-14 03:10
1,用普通rtc(内置亦可)+电池;
2,工作时,内部跑一个软时钟,定时和RTC时间比对,时间超差过多的,时钟不走的,锁;
3,每次关电前,存储当前时间,下次上电,时间应大于当前时间,小于、等于的,锁;
4,开机时间错误的,锁;
5,最后在加个工作时间累计,比如你的设备一天工作几个小时,按这个时间在做一个保护。这个不用太准好了。反正你是750天,两年是730,考虑了20天的裕量了,再多个三二十天也没啥。
sender
4楼-- · 2020-02-14 07:41
 精彩回答 2  元偷偷看……
kcfoo1
5楼-- · 2020-02-14 09:33
记天数就行了,每次关机保存住当前时间,开机与保存的时间做对比得出天数,如果检测到的时间比保存时间小就算一天,防止篡改时间,保存时钟时如果保存时间比开机时间小或相等也算一天,防止时钟停止不计数,每次修改时钟时可以先记住当前时钟与修改后的时钟做对比,如果大于多少小时算一天,以上措施可以很好的防时钟篡改,虽然不是很精确,但起码误差不会太大
zhangsusu
6楼-- · 2020-02-14 09:56
授时型GPS 接收机

一周热门 更多>