Class xwds.uart

XWLUA模块:UART

CAPI

CAPI

MetaMethods

xwds.uart:metatable.__tostring (uart) 元方法:__tostring

Methods

xwds.uart:rx (uart, size, time) 从接收队列中获取数据
xwds.uart:try_rx (uart, size) 尝试从接收队列中获取数据
xwds.uart:tx (uart, data, time) 发送数据


MetaMethods

xwds.uart:metatable.__tostring (uart)
元方法:__tostring

将UART对象格式化成字符串,可用于终端打印调试。

Parameters:

  • uart userdata (in) C代码中注册的UART控制器

Methods

xwds.uart:rx (uart, size, time)
从接收队列中获取数据

Parameters:

  • uart userdata (in) C代码中注册的UART控制器
  • size number (in) 申请的缓冲区大小
  • time number (in) 期望的阻塞等待时间

Returns:

  1. number 错误码
     ● 0 没有错误
     ● -EINTR 等待被中断
     ● -ENOTTHDCTX 不在线程上下文中
     ● -ETIMEDOUT 超时
  2. number 实际接受的大小
  3. string 接收的数据

Usage:

    -- 从uart3接收数据,接收10个字节,最多等待时间2s
    rc, rxsize, rxd = uart3:rx(10, xwtm.ft(xwtm.s(2)))
xwds.uart:try_rx (uart, size)
尝试从接收队列中获取数据

Parameters:

  • uart userdata (in) C代码中注册的UART控制器
  • size number (in) 申请的缓冲区大小

Returns:

  1. number 错误码
     ● 0 没有错误
     ● -EINTR 等待被中断
     ● -ENOTTHDCTX 不在线程上下文中
     ● -ENODATA 尝试失败
  2. number 实际接受的大小
  3. string 接收的数据

Usage:

    -- 尝试从uart3接收数据,接收10个字节
    rc, rxsize, rxd = uart3:try_rx(10)
xwds.uart:tx (uart, data, time)
发送数据

Parameters:

  • uart userdata (in) C代码中注册的UART控制器
  • data string (in) 待发送的数据
  • time number (in , optional) 期望的阻塞等待时间

Returns:

  1. number 错误码
     ● 0 没有错误
     ● -EINTR 等待被中断
     ● -ENOTTHDCTX 不在线程上下文中
     ● -ETIMEDOUT 超时
  2. number 实际发送的大小

Usage:

    -- 打包{88, 87, 79, 83}
    txd = string.pack("BBBB", 88, 87, 79, 83)
    -- 发送打包数据,期望等待时间2s
    rc, txsize = uart3:tx(txd, xwtm.ft(xwtm.s(2)))
generated by LDoc 1.5.0 Last updated 2024-12-17 12:17:46