四博智联产品售后
标题: NodeMCU启动的时候编译文件 内存不足解决方法 (not enough memory) [打印本页]
作者: yangping 时间: 2015-6-17 09:39
标题: NodeMCU启动的时候编译文件 内存不足解决方法 (not enough memory)
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)
复制代码
欢迎光临 四博智联产品售后 (http://bbs.doit.am/) |
Powered by Discuz! X3.2 |