ESP8266 NodeMCU - значение кодов E: M для проблем с памятью - PullRequest
0 голосов
/ 25 августа 2018

Я работаю над адаптацией программы часов в NodeMCU.

Программа сообщает об использовании кучи последовательной консоли каждую секунду. Куча колеблется между 12360 и 12472, так как она успешно работает в течение 15-40 минут. Затем он падает с:

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 увеличивает временные переменные и обновляет отображение. Он не выполняет никаких сетевых действий. collectgarbage () вызывается в конце каждого цикла (1 в секунду)

Поиск не дает подробностей на E: M 2568. Что означает число после него? Могу ли я использовать его, чтобы найти точку, где возникает проблема с памятью? Какие другие функции NodeMCU могут работать асинхронно и использовать память?

Есть ли еще пул памяти, который я должен отслеживать в дополнение к node.heap ()?

...