我正在调整NodeMCU中的时钟程序。
该程序每秒将堆使用情况报告给串行控制台。堆在成功运行15到40分钟后会在12360和12472之间变化。然后它崩溃与:
E:M 2568
PANIC: unprotected error in call to Lua API (not enough memory)
在出现故障时,它是从tmr.alarm函数执行的,就像它在整个运行时一样:
tmr.alarm(1, 1000, 1, function() dofile("doloops.lua") end )
doloops.lua增加时间变量并更新显示。它不执行任何网络活动。在每个循环的结尾(每秒1次)调用collectgarbage()
Searching doesn't provide specifics在E:M 2568上。它后面的数字是什么意思?我可以用它找到发生内存问题的地方吗?还有哪些其他NodeMCU功能可以异步运行并使用内存?
除了node.heap()之外,还有另一个我应该跟踪的内存池吗?