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://luatdoc.papapoi.com/638/ 1、i2c每次读写数据前都需要setup一次吗? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 不需要 正常的业务逻辑为: i2c.setup ……此处可以多次读写数据 i2c.close setup之后,只要没有close,就可以反复读写数据 一旦执行了close,下次读写数据前,必须再次setup .. |image1| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200530233230856_1.png .. |image2| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200530233341400_2.png