原创 轻松上手—低功耗4G模组Air780E的I2C软件使用指南!

2025-1-6 18:56 54 0 分类: 物联网

亲爱的工程师朋友们:今天我们学习低功耗4G模组Air780E的I2C接口操作方法。


1、I2C概述

Air780E可支持1路I2C接口,如果复用的话最多有两路:

I2C配置:

兼容PhilipsI2C标准协议。

支持Fastmode(400Kbps)和Slowmode(100Kbps)。

只支持master模式,不支持slaver模式。

可通过软件来配置内部的上拉电阻,1.8K或者20K。

理论上最多可支持127个从设备。

I2C的参考电路如下:

Air780E的I2C接口电压是1.8V/3.3V可配置,通过PIN100IO_SEL配置IO口电平,能够满足大部分外设的直接需求,但是如果要和5V或者以上电平的外设通信,那就必须要加电平转换电路

2、演示功能概述

本例程将使用I2C协议读取传感器数据并打印出来。


3、准备硬件环境

3.1 780E开发板一套

3.2 数据通信线

typec接口USB数据线即可。

3.3 PC电脑

WINDOWS系统。

3.4 sht20温湿度传感器一个

3.5 780E与sht20接线图如下


4、准备软件环境

4.1 基本的下载调试工具

使用说明参考:Luatools下载和详细使用;

https://docs.openluat.com/Luatools/


5、使用I2C读取sht20软硬件资料

5.1 文档和工具:

780E模块使用固件:SDK&Demo-文档中心,本demo使用的固件版本是:

LuatOS-SoC_V1112_EC618_FULL.soc

本教程使用的demo:

https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/sht20

5.2demo使用api介绍

i2c.setup(id,speed,pullup)

作用:i2c初始化

参数:

返回值:

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

作用:i2c发送数据

参数:

返回值:

i2c.recv(id,addr,len)

作用:i2c接收数据

返回值:


6、代码示例介绍

6.1 读取SHT20温湿度传感器

6.1.1 SHT20简介:

SHT20是使用I2C协议进行通信的温湿度传感器。

首先我们可以发送STH20的7位从机地址+1位读写位(写0读1),然后发送8位的命令,0xF3是读取温度的命令,0xF5是读取湿度的命令。发送完后接收应答,等待20us之后我们发出I2C的结束时序。

6.1.2 demo介绍

首先初始化i2c,然后给sht20发送读取温湿度命令,接收sht20回传的数据即可。



6.1.3 将程序下载到开发板:

使用说明参考:Luatools下载和详细使用

https://docs.openluat.com/Luatools/


7、功能验证

成功使用I2C协议读取到sht20传感器的温湿度数值。

8、总结

本例程使用i2c协议读取了sht20传感器传输的温湿度数值。

9、常见问题

9.1 i2c每次读写数据前都需要setup一次吗?

不需要。

正常的业务逻辑为:

i2c.setup,

…此处可以多次读写数据,

i2c.close,

setup之后,只要没有close,就可以反复读写数据,

一旦执行了close,下次读写数据前,必须再次setup。

9.2 i2c通信时模块可以做从设备吗?

注意:模块I2C只能做主设备,外部需要上拉,在配置FAST速率时,上拉电阻阻值不要大于4.7K。

9.3 i2c设备7位的地址为0x38,需要我手动转换到8位地址吗?

这里i2c_addr地址是7bit地址,如果i2c外设手册中给的是8bit地址,需要把8bit地址右移1位,赋值给i2c_addr变量;如果i2c外设手册中给的是7bit地址,直接把7bit地址赋值给i2c_addr变量即可。

今天就分享到这里了!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
0
关闭 站长推荐上一条 /1 下一条