2

シリアルポートから読み取るコードをLuaで書いていますが、読み取るとコードでエコーバックを受け取ります:

print("Dragino Uart Test started\n")
while 1 do
    serialin=io.open("/dev/ttyS0","r")
    print(serialin:read())    --print the data
    serialin:close()
end

minicom を開いて彼にデータを送信するとき、「テキスト」と入力するよりもローカル エコーを有効にすると、次のように表示されます。

テエックス

次に、lua スクリプトでメッセージを表示するには、Enter キーを押す必要があります。

Dragino で OpenWRT を使用しています。

表示されるすべてのものを入力し、Enter キーを押してコマンドを送信する必要があるプロンプト コマンドのようです。

シリアルポートに読み書きする他の方法はありますか?

誰か助けてくれませんか?どうもありがとう!

4

2 に答える 2

1

read引数のないメソッドは、行全体を読み取ります。そのため、テキストの最後で Enter キーを押す必要があります。一度に 1 バイトずつ、:read(1)または ですべてを読み取ってみてください:read("*a")

于 2013-03-29T11:04:34.583 に答える