2016-11-21 6 views
1

私はuartの特別なデバイスと通信する必要があります。デバイスは500msecごとに照会され、応答はローカル変数に格納されます。ここでuuaのためにlua interpeterを無効にするにはどうすればよいですか? (Nodemcu)

は、最小限の作業例です:

my_data = "no data yet" 

function devReq() 
    uart.write(0, "value?\n\r") -- request next value from device 
end 

function devStart() 
    uart.alt(0) 
    uart.setup(0, 2400, 7, uart.PARITY_NONE, uart.STOPBITS_2, 0) 
    uart.on("data", "\r", 
     function(data) 
      my_data=data    -- store value 
      tmr.alarm(1, 500, tmr.ALARM_SINGLE, devReq, 0) -- request next value 
     end 
    ) 
    devReq() -- request first value 
end 

このコードは動作します。私はパテとuartポートを接続することができます。私の問題は、デバイスが返送された答えはまた、LUAによって解釈されていることである。

> value? 

423 
stdin:1: unexpected symbol near '423' 

> value? 

2345 
stdin:1: unexpected symbol near '2345' 

> value? 

だからmy_dataに値を格納するだけでなく、データもLUAによって解釈されます。どうすればそれをオフにすることができますか?

答えて

2

uart.on()を参照してください。 4番目のパラメータです。これを省略すると、デフォルトは1になります。つまり、インタプリタへの入力が渡されます。

関連する問題