NodeMCU启动的时候编译内存不足,会出现如下提示:
或者:- PANIC: unprotected error in call to Lua API (not enough memory)
复制代码
Doitcar的程序是在init.lua里面对指定的文件进行编译。 由于lua解释器在启动的时候占用较多内存,此时如果进行文件编译有可能出现内存不足。 解决方法是:在启动的时候,利用定时器延迟一定的时间后再启动编译。 将init.lua文件改为下面代码即可: - print("\n")
- print("ESP8266 Started")
- tmr.alarm(1, 1000, 0, function()
- local exefile="sta"
- local luaFile = {exefile..".lua","DoitCarControlSTA3.lua"}
- for i, f in ipairs(luaFile) do
- if file.open(f) then
- file.close()
- print("Compile File:"..f)
- node.compile(f)
- print("Remove File:"..f)
- file.remove(f)
- end
- end
- if file.open(exefile..".lc") then
- dofile(exefile..".lc")
- else
- print(exefile..".lc not exist")
- end
- exefile=nil;luaFile = nil
- collectgarbage()
- end)
复制代码
|