NodeMCU-在ESP32上启用UART1 / 2

时间:2019-04-29 06:43:34

标签: nodemcu esp32

我已按照此处所述构建固件:https://nodemcu.readthedocs.io/en/dev-esp32/build/

但是我无法使硬件UART 1或2工作。为了使其正常工作,是否需要启用任何特定组件(默认情况下未启用)?

这是我的测试代码:

uart_id = 2

local function on_data(data)
    print("IN: ", tostring(data))
end

local function on_error(data)
    print("ERR: ", tostring(data))
end

local cnt = 0;
local function on_timer()
    print(". "..cnt)
    cnt = cnt + 1
    uart.write(uart_id, "# " .. cnt .. "\n")
end

local tmrObj = tmr.create()
tmrObj:register(5000, tmr.ALARM_AUTO, on_timer)
tmrObj:start()

uart.setup(uart_id, 115200, 8, uart.PARITY_NONE, uart.STOPBITS_1, 1)
uart.on(uart_id, "data", '\r', on_data)
uart.on(uart_id, "error", on_error)
uart.setmode(uart_id, uart.MODE_UART)
uart.start(uart_id)

1 个答案:

答案 0 :(得分:0)

固件正常,uart.setup不正确。缺少PIN,并且由于某种原因默认PIN不起作用,因此可以使用此密码:

uart.setup(uart_id, 115200, 8, uart.PARITY_NONE, uart.STOPBITS_1, {rx = 16, tx = 17})