当前位置: 首页 > news >正文

建筑人才网 中高端招聘网站免费下载app并安装

建筑人才网 中高端招聘网站,免费下载app并安装,如何用dw做动态网站,shopify做全品类网站常量 常量 类型 解释 i2c.FAST number 高速 i2c.SLOW number 低速 i2c.exist(id) i2c编号是否存在 参数 传入值类型 解释 int 设备id, 例如i2c1的id为1, i2c2的id为2 返回值 返回值类型 解释 bool 存在就返回true,否则返回false 例子 -- 检查i2c1是否存…

常量

常量

类型

解释

i2c.FAST

number

高速

i2c.SLOW

number

低速

i2c.exist(id)

i2c编号是否存在

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

返回值

返回值类型

解释

bool

存在就返回true,否则返回false

例子

-- 检查i2c1是否存在
if i2c.exist(1) thenlog.info("存在 i2c1")
end

i2c.setup(id, speed, slaveAddr)

i2c初始化

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C速度, 例如i2c.FAST

返回值

返回值类型

解释

int

成功就返回1,否则返回0

例子

-- 初始化i2c1
i2c.setup(1, i2c.FAST) -- 端口正确就一定成功
-- 如需判断i2c id是否合法, 请使用 i2c.exist 函数

i2c.createSoft(scl,sda,delay)

新建一个软件i2c对象

参数

传入值类型

解释

int

i2c SCL引脚编号(GPIO编号)

int

i2c SDA引脚编号(GPIO编号)

int

每个操作的延时, 单位us, 默认5

返回值

返回值类型

解释

软件I2C对象

可当作i2c的id使用

例子

-- 注意!这个接口是软件模拟i2c,速度可能会比硬件的慢
-- 不需要调用i2c.close接口
-- 初始化软件i2c
local softI2C = i2c.createSoft(1, 2, 5)
i2c.send(softI2C, 0x5C, string.char(0x0F, 0x2F))
-- 注意, 第3个参数是 2023.06.19 添加的delay
-- 通过调整delay参数的值, 可增加或降低I2C的速度

i2c.send(id, addr, data,stop)

i2c发送数据

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C子设备的地址, 7位地址

integer/string/table

待发送的数据,自适应参数类型

integer

可选参数 是否发送停止位 1发送 0不发送 默认发送(105不支持)

返回值

返回值类型

解释

true/false

发送是否成功

例子

-- 往i2c0发送1个字节的数据
i2c.send(0, 0x68, 0x75)
-- 往i2c1发送2个字节的数据
i2c.send(1, 0x5C, string.char(0x0F, 0x2F))
i2c.send(1, 0x5C, {0x0F, 0x2F})

i2c.recv(id, addr, len)

i2c接收数据

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C子设备的地址, 7位地址

int

接收数据的长度

返回值

返回值类型

解释

string

收到的数据

例子

-- 从i2c1读取2个字节的数据
local data = i2c.recv(1, 0x5C, 2)

i2c.writeReg(id, addr, reg, data,stop)

i2c写寄存器数据

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C子设备的地址, 7位地址

int

寄存器地址

string

待发送的数据

integer

可选参数 是否发送停止位 1发送 0不发送 默认发送(105不支持)

返回值

返回值类型

解释

true/false

发送是否成功

例子

-- 从i2c1的地址为0x5C的设备的寄存器0x01写入2个字节的数据
i2c.writeReg(1, 0x5C, 0x01, string.char(0x00, 0xF2))

i2c.readReg(id, addr, reg, len)

i2c读寄存器数据

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C子设备的地址, 7位地址

int

寄存器地址

int

待接收的数据长度

integer

可选参数 是否发送停止位 1发送 0不发送 默认发送(105不支持)

返回值

返回值类型

解释

string

收到的数据

例子

-- 从i2c1的地址为0x5C的设备的寄存器0x01读出2个字节的数据
i2c.readReg(1, 0x5C, 0x01, 2)

i2c.close(id)

关闭i2c设备

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

返回值

返回值类型

解释

nil

无返回值

例子

-- 关闭i2c1
i2c.close(1)

i2c.readDHT12(id)

从i2c总线读取DHT12的温湿度数据

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

DHT12的设备地址,默认0x5C

返回值

返回值类型

解释

boolean

读取成功返回true,否则返回false

int

湿度值,单位0.1%, 例如 591 代表 59.1%

int

温度值,单位0.1摄氏度, 例如 292 代表 29.2摄氏度

例子

-- 从i2c0读取DHT12
i2c.setup(0)
local re, H, T = i2c.readDHT12(0)
if re thenlog.info("dht12", H, T)
end

i2c.readSHT30(id,addr)

从i2c总线读取DHT30的温湿度数据(由”好奇星”贡献)

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

设备addr,SHT30的设备地址,默认0x44 bit7

返回值

返回值类型

解释

boolean

读取成功返回true,否则返回false

int

湿度值,单位0.1%, 例如 591 代表 59.1%

int

温度值,单位0.1摄氏度, 例如 292 代表 29.2摄氏度

例子

-- 从i2c0读取SHT30
i2c.setup(0)
local re, H, T = i2c.readSHT30(0)
if re thenlog.info("sht30", H, T)
end

i2c.transfer(id, addr, txBuff, rxBuff, rxLen)

i2c通用传输,包括发送N字节,发送N字节+接收N字节,接收N字节三种功能,在发送转接收过程中发送reStart信号,解决类似mlx90614必须带restart信号,但是又不能用i2c.send来控制的,比如air105

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C子设备的地址, 7位地址

integer/string/zbuff

待发送的数据,自适应参数类型,如果为nil,则不发送数据

zbuff

待接收数据的zbuff 如果不用zbuff,则接收数据将在return返回

int

需要接收的数据长度,如果为0或nil,则不接收数据

返回值

返回值类型

解释

boolean

true/false 发送是否成功

string

or nil 如果参数5是interger,则返回接收到的数据

例子

local result, _ = i2c.transfer(0, 0x11, txbuff, rxbuff, 1)
local result, _ = i2c.transfer(0, 0x11, txbuff, nil, 0)	--只发送txbuff里的数据,不接收数据,典型应用就是写寄存器了,这里寄存器地址和值都放在了txbuff里
local result, _ = i2c.transfer(0, 0x11, "\x01\x02\x03", nil, 1) --发送0x01, 0x02,0x03,不接收数据,如果是eeprom,就是往0x01的地址写02和03,或者往0x0102的地址写03,看具体芯片了
local result, rxdata = i2c.transfer(0, 0x11, "\x01\x02", nil, 1) --发送0x01, 0x02,然后接收1个字节,典型应用就是eeprom
local result, rxdata = i2c.transfer(0, 0x11, 0x00, nil, 1) --发送0x00,然后接收1个字节,典型应用各种传感器

i2c.xfer(id, addr, txBuff, rxBuff, rxLen, transfer_done_topic, timeout)

i2c非阻塞通用传输,类似transfer,但是不会等到I2C传输完成才返回,调用本函数会立刻返回,I2C传输完成后,通过消息回调

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C子设备的地址, 7位地址

zbuff

待发送的数据,由于用的非阻塞模型,为保证动态数据的有效性,只能使用zbuff,发送的数据从zbuff.addr开始,长度为zbuff.used

zbuff

待接收数据的zbuff,如果为nil,则忽略后面参数, 不接收数据。接收的数据会放在zbuff.addr开始的位置,会覆盖掉之前的数据,注意zhuff的预留空间要足够

int

需要接收的数据长度,如果为0或nil,则不接收数据

string

传输完成后回调的消息

int

超时时间,如果填nil,则为100ms

返回值

返回值类型

解释

boolean

true/false 本次传输是否正确启动,true,启动,false,有错误无法启动。传输完成会发布消息transfer_done_topic和boolean型结果

例子

local result = i2c.xfer(0, 0x11, txbuff, rxbuff, 1, "I2CDONE") if result then result, i2c_id, succ, error_code = sys.waitUntil("I2CDONE") end if not result or not succ then log.info("i2c fail, error code", error_code) else log.info("i2c ok") end

i2c.scan(id)

扫描i2c设备

参数

传入值类型

解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

返回值

返回值类型

解释

nil

当前无返回值

例子

-- 本函数于2023.07.04添加
-- 这个函数的主要目标是为了在开发期扫描i2c设备
-- 有些BSP在指定addr无响应时会输出日志,导致输出会被打乱
i2c.scan()
http://www.hrbkazy.com/news/9808.html

相关文章:

  • 寻找哈尔滨网站建设b站在线观看人数在哪
  • 用dw做购票网站百度24小时人工客服电话
  • 网站空间指的是什么意思国际实时新闻
  • wengdo网站开发创意设计百度入口
  • 想开民宿自己怎么做介绍的网站网页制作工具有哪些
  • 西安网站建设 大德百度网站收录查询
  • 备案编号在哪里能看到西安官网seo公司
  • 有什么学做木工的网站吗百度广告投放公司
  • 淮安做微信网站小红书推广费用一般多少
  • 阳泉推广型网站开发企业网站推广方法实验报告
  • 百度上传网站服务器产品软文代写
  • 做牙科设计的网站灰色行业关键词优化
  • 湖北省勘察设计协会网站淘宝竞价排名
  • 宜昌小程序开发公司最好的优化公司
  • 一佰互联自助建站如何进行网络推广和宣传
  • 代理网关app未运行网站搜索引擎优化的步骤
  • 在线设计平台的发展趋势seo免费课程
  • 官方网页qq登陆邯郸网站seo
  • 微网站公司移动建站模板
  • 自己做网站的流程视频教程应用下载app排行榜
  • 网站建设与管理学什么网站快速收录教程
  • 建设免费网站2022年7到8月份的十大新闻
  • 做网站销售水果网站seo优化免费
  • 旅游公司网站建设40个免费靠谱网站
  • 济南建设项目竣工验收公示网站中国今天最新军事新闻
  • 如何设计一个logoseo优化的主要任务
  • 手机兼职在哪个网站做网店如何做推广
  • 20g虚拟主机建设网站win10优化工具
  • 海外网站建设谷歌浏览器下载安装2022
  • 自己做网站要会什么软件下载各大网站收录提交入口