Class xwds.spim
XWLUA模块:SPI主机模式控制器
CAPI
MetaMethods
xwds.spim:metatable.__tostring (spim) | 元方法:__tostring |
Methods
xwds.spim:xfer (spim, cfgid, txd, rx, size, time) | 接收数据 |
MetaMethods
- xwds.spim:metatable.__tostring (spim)
-
元方法:__tostring
将SPI主机模式控制器对象格式化成字符串,可用于终端打印调试。
Parameters:
- spim userdata (in) C代码中注册的SPI主机模式控制器控制器
Methods
- xwds.spim:xfer (spim, cfgid, txd, rx, size, time)
-
接收数据
Parameters:
- spim userdata (in) C代码中注册的SPI主机模式控制器控制器
- cfgid number (in) 总线配置ID
- txd string (in) 待发送的数据
- rx boolean (in) 是否接收数据
- size number (in) 本次传输的数据大小
- time number (in , optional) 期望的阻塞等待时间
Returns:
-
number
错误码
● 0 没有错误
● -EINTR 等待被中断
● -ENOTTHDCTX 不在线程上下文中
● -ETIMEDOUT 超时,仅当存在可选参数 time 时才会出现此错误值 - number 实际接受的大小
- string 接收的数据
Usage:
-- 打包{88, 87, 79, 83} txd = string.pack("BBBB", 88, 87, 79, 83) -- 设置总线参数为配置0,发送数据,返回接收到的数据,期望等待时间2s rc, size, rxd = spim1:xfer(spi1m, 0, txd, true, #txd, xwtm.ft(xwtm.s(2)))
-- 打包{88, 87, 79, 83} txd = string.pack("BBBB", 88, 87, 79, 83) -- 设置总线参数为配置0,发送数据,不接收数据,期望等待时间2s rc, size = spim1:xfer(spi1m, 0, txd, false, #txd, xwtm.ft(xwtm.s(2)))
-- 设置总线参数为配置0,不发送数据,接收数据,接收缓冲区8字节,期望等待时间2s rc, size, rxd = spim1:xfer(spi1m, 0, nil, true, 8, xwtm.ft(xwtm.s(2)))