【发布时间】:2016-10-17 05:52:27
【问题描述】:
有人知道,Lua 中的node.dsleep() 函数是否有上限?我的意思是最长的睡眠时间。我试着设置了几分钟,没有问题,非常准确。
但是当我需要将其设置为 4 小时时,它并不可靠,并且 ESP 大多在 30 分钟后唤醒。
感谢您的回答!
柿子
【问题讨论】:
有人知道,Lua 中的node.dsleep() 函数是否有上限?我的意思是最长的睡眠时间。我试着设置了几分钟,没有问题,非常准确。
但是当我需要将其设置为 4 小时时,它并不可靠,并且 ESP 大多在 30 分钟后唤醒。
感谢您的回答!
柿子
【问题讨论】:
这似乎是固件限制。
Per the NodeMCU documentation:
node.dsleep() 进入深度睡眠模式,超时唤醒。
最长睡眠时间为 4294967295us,约 71 分钟。这是 SDK 限制。 2016 年 1 月 5 日之前的固件最长睡眠时间约为 35 分钟。
这似乎是由 32 位整数的限制引起的。 4294967295 是无符号 32 位整数可以存储的最大数。从信息中,我们可以假设,在提到的固件更新之前,这最初是一个有符号整数,最大睡眠时间为 2147483647us。这相当于 35 分 47.5 秒。
【讨论】: