如果我的一些參數已更改並重新啓動,我想更改ESP模塊的行爲。我的意思是這樣的。在ESP中重啓後實現參數更改wifi(Lua)
if (????) then print ("default value") else print ("modified value") end
首先,我想寫一個標誌到一個文件,但它會導致引導過程中的錯誤,如果它不存在。 有什麼更好的想法?
如果我的一些參數已更改並重新啓動,我想更改ESP模塊的行爲。我的意思是這樣的。在ESP中重啓後實現參數更改wifi(Lua)
if (????) then print ("default value") else print ("modified value") end
首先,我想寫一個標誌到一個文件,但它會導致引導過程中的錯誤,如果它不存在。 有什麼更好的想法?
如果你想存儲超過重新啓動,你必須將它們存儲在一些非揮發性內存的值。所以使用文件是一種很好的方式,正如你已經提出的那樣。
可惜你沒有提供當它不存在尚未得到錯誤信息,如果該標誌或文件不存在,你不說。
你必須做的是處理錯誤。因此,如果您的文件不存在,請用戶創建一個新文件或使用程序中的默認內容創建一個文件。 同樣的國旗。如果該文件尚未包含標誌,請使用默認值或要求用戶提供一個標誌。
這不是壞的或錯誤的出現錯誤,只要他們學習或妥善處理。
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:沒有這樣的文件或目錄
因此,如果您的文件不存在,請求用戶創建一個新的不可思議的 – Steve
「因此,如果您的文件不存在,請求用戶創建一個新文件」。不幸的是,它並不那麼簡單。正如標題中提到的那樣,問題是關於ESP微wifi板。如果參數修改是通過wifi通訊進行的,那麼在重新啓動之後,應該修改但是自主的行爲。 – Steve
@steve好的用戶交互只是一個普遍的選擇。我還建議使用硬編碼的默認值,這當然更適合嵌入式系統。無論如何,您必須處理文件錯誤以解決特殊情況。 – Piglet