一. I2C实验
I2C实验内容:
学习如何使用 I.MX6U 的 I2C 接口来驱动 AP3216C,读取 AP3216C 的传感器数据。
I2C读写数据时序图:
I2C写数据时序图如下:
I2C读数据时序图如下:
二. I2C主控读写时序
1. 读数据与写数据
本文学习 I2C的两个接口:
(1) 写数据函数
其中数据写入之前,有清除中断标志位 I2C1->I2SR [IIF] 位的操作。
数据传输完成后,也有以 等待 I2C1->I2SR [IIF] 位作为数据传输完成的判断操作。
以上代码实现的两个部分,都是以 恩智浦提供的 SDK代码关于 i2c的写数据函数作为依据。即参考自 “ I.MX6U参考资料\I.MX6ULL SDK包\devices\MCIMX6Y2\drivers ” 目录下 fsl_i2c.c 文件:I2C_MasterWriteBlocking() 函数。
(2) 读数据函数
读数据函数实现相对写数据接口比较复杂,从写数据时序图与读数据时序图比较可以知道。