Class xwds.uart
XWLUA模块:UART
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:- 
           number
         错误码
 ● 0 没有错误
 ● -EINTR 等待被中断
 ● -ENOTTHDCTX 不在线程上下文中
 ● -ETIMEDOUT 超时
- number 实际接受的大小
- 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:- 
           number
         错误码
 ● 0 没有错误
 ● -EINTR 等待被中断
 ● -ENOTTHDCTX 不在线程上下文中
 ● -ENODATA 尝试失败
- number 实际接受的大小
- 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:- 
           number
         错误码
 ● 0 没有错误
 ● -EINTR 等待被中断
 ● -ENOTTHDCTX 不在线程上下文中
 ● -ETIMEDOUT 超时
- 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)))