I2C接口

作者:金艺 ## 概述 Air724UG模块提供3个I2C接口,速率支持FAST(400KHz),SLOW(100KHz)。外设地址支持0x00-0x7f。其中AT版本并不支持I2C操作,只能在luat二次开发方式使用。3路I2C分别是有由如下管脚复用: ## 管脚定义 | 接口 | 名称 | 复用 |管脚 | 作用 | | ———— | ———— | ———— | ———— | ———— | | I2C1 | CAMI2C_SCL1 |I2C1_SCL |51 | I2C1时钟信号 | | I2C1 | CAMI2C_SDA1 | I2C1_SDA |50 | I2C1数据信号 | | I2C2 | I2C2_SCL |I2C2_SCL |32 |I2C2时钟信号 | | I2C2 |I2C2_SDA |I2C2_SDA | 31 | I2C2数据信号 | | I2C3 |ZSP_UART_TXD |I2C3_SCL |7 | I2C3数据信号 | | I2C3 |SIM0_DET | I2C3_SDA |8 | I2C3时钟信号 | |

注意: 请优先使用I2C2。I2C1预留给摄像头使用。 ## 参考设计 如下是I2C接口的参考线路,注意模块I2C只能做主设备,外部需要上拉,在配置FAST速率时,上拉电阻阻值不要大于4.7K。 image1

如果主从设备的参考电平不一致,请注意做电平转换。如下图: image2

相关AT指令

AT指令不支持I2C接口操作

LUAT开发相关接口

I2C API参考


相关资料以及购买链接

相关开发板购买链接 Air724UG开发板 Air724 开发板使用说明 相关软件资料下载

常见问题

https://doc.luatos.wiki/638/

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

不需要

正常的业务逻辑为: i2c.setup ……此处可以多次读写数据 i2c.close

setup之后,只要没有close,就可以反复读写数据 一旦执行了close,下次读写数据前,必须再次setup