2016-04-20 5 views
1

私のパラメータの一部が変更され、再起動された場合、私のESPモジュールの動作を変更したい。私はこれのようなものを意味する。ESPでリブート後のパラメータ変更を実現するwifi(ルア)

if (????) then print ("default value") else print ("modified value") end

は、まず私は、ファイルにフラグを書き込むのと思ったが、それはまだ存在していない場合には、起動時にエラーが発生します。 もっと良いアイデアですか?

答えて

1

再起動を超えて値を保存する場合は、不揮発性メモリに値を保存する必要があります。だからすでに提案したように、ファイルを使うのは良い方法です。

残念ながら、あなたがまだ存在しないときに、フラグやファイルが存在しないと言っていないときに、あなたが受け取ったエラーメッセージは表示されませんでした。

あなたがしなければならないことは、エラーを処理することです。したがって、ファイルが存在しない場合は、新しいファイルを作成するか、プログラムのデフォルトの内容のファイルを作成するようにユーザーに依頼してください。 同じことがフラグに付きます。ファイルにフラグがまだ含まれていない場合は、デフォルト値を使用するか、ユーザーに値を与えるように依頼します。

長いことを学んだり、適切に処理したりすると、間違いなくエラーになることはありません。

io.open(filename[,mode])は、エラーの場合はエラーメッセージnilとエラーメッセージを返します。 C:\ superfile.txt:そのようなファイルやディレクトリはありませんので、あなたがそのファイルを持っていない場合には、あなたが

ファイルアクセスエラーが発生します

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 

: だから、単にような何かを

+0

ファイルが存在しない場合は、新しいファイルを作成するように頼んでください。不確かです – Steve

+0

"ファイルが存在しない場合は、新しいファイルを作成するようにユーザーに依頼してください。それはタイトルで言及されているように、質問はESPマイクロwifiボードについてです。 Wi-Fi通信でパラメータを変更すると、再起動後に変更された自律的な動作が予想されます。 – Steve

+0

@steveユーザーとのやりとりは一般的な選択肢の1つに過ぎません。もちろん、ハードコードされたデフォルト値を使用することを提案しましたが、もちろん組み込みシステムに適しています。例外的な状況を解決するには、ファイルエラーを処理する必要があります。 – Piglet

関連する問題