器件型号: MSP430F5342
文档清楚地表明、您可能会得到不正确的值、并建议遵守 RTCRDY 或使用“多数票“系统。
我不清楚的是,什么可能会出错。
显然,我可以读取前几个字节,获取旧值,然后使用新值读取接下来的几个字节,并获得不正确的结果 — 但这可能比这更糟糕吗?
如果这是唯一的失败模式,那么我可以读取完整的日期时间,从几秒到一年,然后检查,看看秒是否改变。 如果没有,我接受结果,但如果他们确实改变了,我只是重新阅读完整的日期。
事实上,我可以做得更好;如果秒改变,并且新值大于旧值(同样地,如果新值不是零),我更新秒,并保留其余的结果。
另一方面、数据表的字面读数表明、在任何更新窗口期间都可能会错误地读取任何值。 即在窗口中、当时间通过 03:42:31~03:42:32 计时时、我可能会阅读小时和分钟(以及日,月,年)的任何内容、即使它们没有变化。
在第一种情况下、读取日期/时间非常便宜(我不必等待,很少需要读取多个额外的字节来验证读取)。
在第二种情况下、我必须重复读取每个字节、然后如果任何字节发生变化、可能会重新读取整个内容。
我已经做了一些测试,似乎我可以可靠地读取任何没有积极变化的字段(即,第一种情况)-但我要求这里尝试得到一个明确的答案,硬件的实际保证(也许我只是幸运到目前为止)。