在ESP wifi(Lua)重启后实现参数更改

时间:2016-04-20 10:23:39

标签: lua

如果我的某些参数被更改然后重新启动,我想更改ESP模块的行为。我的意思是这样的。

  

if(????)然后       打印(“默认值”)否则       print(“修改后的值”)结束

首先,我想到将一个标志写入文件,但如果它尚不存在,则会在引导期间导致错误。 还有更好的主意吗?

1 个答案:

答案 0 :(得分:1)

如果要存储超出重启的值,则必须将它们存储在某些非易失性存储器中。因此,正如您已经建议的那样,使用文件是一种很好的方法。

不幸的是,您没有提供当它尚不存在时得到的错误消息,并且您没有说明该标志或文件是否不存在。

您需要做的是处理错误。因此,如果您的文件不存在,请让用户创建一个新文件或创建一个包含程序默认内容的文件。 国旗也一样。如果文件尚未包含标志,请使用默认值或要求用户提供一个。

只要从中学习或正确处理错误,就可以获得错误。

io.open(filename[,mode])会在发生错误时返回nil以及错误消息。 所以简单地做一些事情:

local fileName = "C:\\superfile.txt"
local fileHandle, errorMsg = io.open(fileName)
if not fileHandle then
  print("File access error: ", errorMsg)
  -- add some error handling here
end

因此,如果您没有该文件,您将获得

文件访问错误:C:\ superfile.txt:没有这样的文件或目录