arduino - 时间戳 UINT32_t 溢出问题
问题描述
我有一个应用程序,其中嵌入式设备每天根据服务器请求设置一个内部时间戳。为简单起见,服务器返回 Unix Epoch 中的时间,例如:
1602529759 = 10/12/2020 3:08:XX EST PM
这些设备会报告原始时间戳,通常它是正确的。然而,每隔一段时间,我们就会得到一个发生在未来 17 年零几天的时间戳。日期戳似乎总是与正确的值相关,但在 2037 年。例如,如果今天的日期是 2020 年 10 月 12 日,则设备报告的日期将是 2037 年 10 月 17 日(大约)。我怀疑这个问题与二进制数学问题和整数溢出(UINT32_t)有关。我想确定问题的原因购买我的首要任务是了解问题,以便我可以更正我们数据库中错误报告的值。
有什么想法可能会在这里发生吗?
解决方案
推荐阅读
- google-apps-script - 谷歌应用脚本失败总结
- java - 在片段内访问 TextView 会产生 NullPointerException
- html - 如何将项目符号添加到电子邮件模板的 .Body 部分?
- sql - 使用 CTE 更新 Snowflake
- events - Slack 事件 API - 用户提及
- c# - 如何从 Unity、C# 推送(附加)Firebase 实时数据库中的列表?
- java - 在 main 方法 java 之外初始化一个对象
- c++ - 为什么即使我安装了 fltk,我也不能使用 Stroustrup 的 PPP 的标头?
- android - 是否有学习如何创建此 xml 视图的指南或链接?
- geojson - 元数据库与 geojson 和属性的集成