项目中需要实现长定时,定时范围在0-750天,以天为单位,实现的功能是针对故意拖欠质保金的客户自动关闭设备的某些功能而不能正常使用,
如果将设定的天数换算成年、月、日三个量,然后用这三个量去和时钟芯片的时间对比,对应的值变化就将对应的年月日值减1,减到0为止。但
这个方法在修改了系统时钟的情况下显得毫无用处,而且当设备停电了,这个算法也不准确了,所以想请教大家有没有做过这样的:设定的倒计时
时间不受修改了系统时间的影响,并且不受设备停电的影响(就是讲即使你今天停机没用也算你用了一天了)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
看楼主的目的,(怕人赖账,定个试用时间),简单的做法就是定工作时间,要是断电,自然就是不工作了,摆在那也没有意义,搞个几百几千个小时的试用时间即可。
要是楼主非要用时钟芯片的信息,是有点小麻烦,看看windows下的某些软件有时间限制的试用,就知道其蛋疼了,我们要是总是改系统时间也是可以总是试用的。我们单片机,方法也是有的,修改时间最后一定要确认吧,确认总有变量要变吧,这个接口一定可以做出来,然后就是策略了,应该不复杂了。
2,工作时,内部跑一个软时钟,定时和RTC时间比对,时间超差过多的,时钟不走的,锁;
3,每次关电前,存储当前时间,下次上电,时间应大于当前时间,小于、等于的,锁;
4,开机时间错误的,锁;
5,最后在加个工作时间累计,比如你的设备一天工作几个小时,按这个时间在做一个保护。这个不用太准好了。反正你是750天,两年是730,考虑了20天的裕量了,再多个三二十天也没啥。
一周热门 更多>