串口通信 3.1.11

设置超时时间

lebai:set_serial_timeout(device, timeout)
  • 参数
    • device 设备名称
    • timeout 超时时间,单位毫秒(ms)。默认800ms

设置波特率

lebai:set_serial_baud_rate(device, baud_rate)

设置串口波特率

  • 参数
    • device 设备名称
    • baud_rate。串口波特率。默认115200

返回空 或 抛出连接错误

设置奇偶校验位

lebai:set_serial_parity(device, parity)

设置奇偶校验位

  • 参数
    • device 设备名称
    • parity。奇偶校验位(None: 无奇偶校验; Odd: 奇校验; Even: 偶校验)。默认无奇偶校验位

返回空 或 抛出连接错误

发送数据

lebai:write_serial(device, data)

通过串口发送u8数组

  • 参数
    • device 设备名称
    • data。待发送的u8数组。

返回空 或 抛出连接错误

接收数据

data = lebai:read_serial(device, len)

通过串口接收u8数组

  • 参数
    • device 设备名称
    • len。单次接收的最大缓冲长度,可空,默认64字节。

返回u8数组 或 抛出连接错误

示例

local device = "/dev/ttyS1"
lebai:set_serial_baud_rate(device, 9600)

local str = "123"
lebai:write_serial(device, {string.byte(str, 1, #str)}) -- 发送字符串
lebai:write_serial(device, {0x01, 0x02, 0x03}) -- 发送HEX
local data = lebai:read_serial(device)
print(data) -- 打印HEX
print(string.char(table.unpack(data))) -- 打印字符串
上次更新: