如何关闭 uart 的 lua 解释器? (Nodemcu)
How to turn off lua interpeter for uart? (Nodemcu)
我需要在uart上与一个特殊设备进行通信。每 500 毫秒查询一次设备,其响应存储在局部变量中。
这是一个最小的工作示例:
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 进行解释。我怎样才能关闭它?
参见 uart.on()。这是第四个参数。你省略了这个,所以它默认为 1——即将输入传递给解释器。
我需要在uart上与一个特殊设备进行通信。每 500 毫秒查询一次设备,其响应存储在局部变量中。
这是一个最小的工作示例:
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 进行解释。我怎样才能关闭它?
参见 uart.on()。这是第四个参数。你省略了这个,所以它默认为 1——即将输入传递给解释器。