NodeMCU - 在 ESP32 上启用 UART1/2

NodeMCU - enable UART1/2 on 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)

固件正常,uart.setup不正确。 PIN 丢失,并且由于某种原因默认 PIN 不起作用,这个没问题:

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