打印

关于RTC计算问题

[复制链接]
1954|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinjing999|  楼主 | 2009-8-24 17:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用以下方法计算:
   u32_TimeVar=u32_TimeVar % 86400;
   s_DateStructVar.u8_hour = (u8)(u32_TimeVar/3600);
   s_DateStructVar.u8_min  = (u8)((u32_TimeVar%3600)/60);
   s_DateStructVar.u8_sec  = (u8)((u32_TimeVar%3600)%60);

我查询看计算结果,结果发现秒没有零,
直接是两个1秒,没有零秒?
这是为什么啊?
沙发
seawwh| | 2009-8-24 18:25 | 只看该作者
[quote][/quote]

   s_DateStructVar.u8_hour = (u8)(u32_TimeVar/3600 % 24);
   s_DateStructVar.u8_min  = (u8)((u32_TimeVar/60 % 60);
   s_DateStructVar.u8_sec  = (u8)((u32_TimeVar % 60);

使用特权

评论回复
板凳
jinjing999|  楼主 | 2009-8-25 09:38 | 只看该作者
谢谢
我试试,看秒还有没有零

使用特权

评论回复
地板
香水城| | 2009-8-25 09:50 | 只看该作者
其实你可以通过调试自己找出问题,只需要在调试的时候,自己用几个虚拟的数字带入那段程序演算一下即可。

例如设置u32_TimeVar=86400、u32_TimeVar=3600、u32_TimeVar=60等数值,单步调试,很快就能找到问题。

自己发现问题,解决问题,才是最有效的方法。

使用特权

评论回复
5
shu9810956| | 2009-8-27 20:21 | 只看该作者
还没有软时钟好

使用特权

评论回复
6
jinjing999|  楼主 | 2009-8-28 13:57 | 只看该作者
不是算法的问题
在零秒的时候,数据没有更新,只有延时10MS后才能用        u32_TimeVar = RTC_GetCounter();读取

使用特权

评论回复
7
fqingy2003| | 2009-9-18 10:13 | 只看该作者
楼主,有问题我们可以交流一下,同行业的。我的qq:417507937,解决这个问题比较麻烦,很不爽,而且他的复位跟备份数据连在一起,一复位备份数据就丢失了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

363

帖子

1

粉丝