Class xwds.i2cm

XWLUA模块:I2C主机模式控制器

CAPI

CAPI

MetaMethods

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

Methods

xwds.i2cm:xfer (i2cm, addr, start, stop, rx, size, txd, time) 接收数据


MetaMethods

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

将I2C主机模式控制器对象格式化成字符串,可用于终端打印调试。

Parameters:

  • i2cm userdata (in) C代码中注册的I2C主机模式控制器控制器

Methods

xwds.i2cm:xfer (i2cm, addr, start, stop, rx, size, txd, time)
接收数据

Parameters:

  • i2cm userdata (in) C代码中注册的I2C主机模式控制器控制器
  • addr number (in) I2C外设的地址
  • start boolean (in) 是否产生 Start 条件
  • stop boolean (in) 是否产生 Stop 条件
  • rx boolean (in) 方向是否为
  • size number (in) 本次传输的数据大小
  • txd string (in) 待发送的数据
  • time number (in , optional) 期望的阻塞等待时间

Returns:

    number rxfalse 时的错误码
     ● 0 没有错误
     ● -EINTR 等待被中断
     ● -ENOTTHDCTX 不在线程上下文中
     ● -ETIMEDOUT 超时,仅当存在可选参数 time 时才会出现此错误值

Or

  1. number rxtrue 时的错误码
     ● 0 没有错误
     ● -EINTR 等待被中断
     ● -ENOTTHDCTX 不在线程上下文中
     ● -ETIMEDOUT 超时,仅当存在可选参数 time 时才会出现此错误值
  2. string rxtrue 时的接收数据

Usage:

  • -- 向EEPROM的0地址写入4字节数据,打包{地址0, 88, 87, 79, 83}
    txd = string.pack("BBBBB", 0, 88, 87, 79, 83)
    -- 写入地址和数据,最多等待2s
    rc = i2c2m:xfer(0xA0, true, true, false, #txd, txd, xwtm.ft(xwtm.s(2)))
  • -- 从EEPROM的0地址读出4字节数据,打包{地址0}
    txd = string.pack("B", 0)
    -- 写入地址,产生Start,不产生Stop
    rc = i2c2m:xfer(0xA0, true, false, false, #txd, txd)
    -- 读出数据,重新产生Start,产生Stop
    rc, rxd = i2c2m:xfer(0xA0, true, true, true, 4)
generated by LDoc 1.5.0 Last updated 2024-12-17 12:17:46