# Unionpi_Tiger—i2c实验 ## 读取温湿度传感器——开发笔记 #### 第一步:先了解传感器硬件信息 ![i2c_1](../figures/i2c/i2c-1.png) ![image-20220729155106791](../figures/i2c/i2c-2.png)![image-20220729155949313](../figures/i2c/i2c-3.png) ![image-20220729160036896](../figures/i2c/i2c-4.png) ![image-20220729161158375](../figures/i2c/i2c-5.png) image-20220729161656087 #### 第二步:了解I2C通信协议及如何使用I2C与这个芯片通信 ​ I2C的总线结构图 ![image-20220729161921243](../figures/i2c/i2c-7.png) ![image-20220729162315134](../figures/i2c/i2c-8.png) ![image-20220729162341360](../figures/i2c/i2c-9.png) ![image-20220729162617160](../figures/i2c/i2c-10.png) ![image-20220729163016371](../figures/i2c/i2c-11.png) **简单总结**:先发从机地址选定芯片-->发送控制命令-->读取芯片内部寄存器的值(读取温湿度)-->显示出来 #### 第三步:了解linux环境下的i2c应用开发 ​ ![image-20220729172458364](../figures/i2c/i2c-12.png) ![image-20220729165227550](../figures/i2c/i2c-13.png) ![image-20220729165327637](../figures/i2c/i2c-14.png) ![image-20220729165430480](../figures/i2c/i2c-15.png) PS:sample中使用的是linux中i2c子系统的ioctl编写接口 ![image-20220729165835934](../figures/i2c/i2c-16.png) ![image-20220729170248057](../figures/i2c/i2c-17.png) ![i2c_2](../figures/i2c/i2c-18.png) ![image-20220729172755177](../figures/i2c/i2c-19.png) ​ **先发从机地址选定芯片-->发送控制命令-->读取芯片内部寄存器的值(读取温湿度)-->显示出来**