A. i2c的地址为什么从0x07开始
i2c的地址从0x07开始的原因如下:
在7位寻址过程中,从机地址在启动信号后的第一个字节开始传输,该字节的前7位为从机地址,第8位为读写位,其中0表示写,1表示读。
I2C总线规范规定,标准模式I2C,从机地址为7位长,其次是读/写位。
任何I2C设备都必须遵循这个标准,USB2XXX传输的从机地址即为这7bit地址,不包含读写位,读写位会根据不同的函数自动添加进去。
B. i2c总线可以连接几个设备
IIC协议规定,在启动总线后第1字节的高7位是从节点的寻址地址,第8位为方向位。所以在单字节寻址中最多128个从设备。但又不能是同一类设备,因为在地址还要区分设备类型。
C. i2c总线上最多可以挂多少个从器件
有IIC地址决定,8位地址,减去1位广播地址,是7位地址,2^7=128,但是地址0x00不用,那就是127个地址, 所以理论上可以挂127个从器件。
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C 总线支持任何IC 生产过程(CMOS、双极性)。通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。LCD 驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。
D. me的i2c地址如何查看
IIC设备地址一般为8(0~7)位。
其中第7位1为读,0为写。
剩下的0~6位参考IIC设备的datasheet和板卡原理图可知.
IIC(Inter-IntegratedCircuit(集成电路总线)),是IICBus的简称。为一种串行通讯总线,采用多主从架构。
由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。I²C的正确读法为“I平方C”(“I-squared-C”),而“I二C”(“I-two-C”)则是另一种错误但被广泛使用的读法。自2006年10月1日起,使用I²C协议已经不需要支付专利费,但制造商仍然需要付费以获取I²C从属设备地址。
PS:我们一般读作“I方C”。
注意上面的关键字,连接低速周边设备。以及需要注意IIC为半双工通讯。
低速:IIC数据传输速率有标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps)。
连接:物理上,IIC是两线制,一根时钟线SCL,一根数据线SDA。
周边设备:即多用与外围模块与MCU的数据通讯,比如常用的MPU6050、0.96寸左右大小OLED显示屏模块、DS3231时钟模块等,都可以通过IIC模块实现数据和指令半双工通讯
————————————————
E. I2C协议(上)——基础介绍
I2C协议由Philips提出,广泛应用于系统内部多个IC之间的通讯。
I2C是一个支持多个设备的总线,包含SDA(双向串行数据线)和SCL(串行时钟线)。每个设备有一个独立地址,主机通过此地址访问不同设备。主机通过SDA发送设备地址(SLAVE_ADDRESS),SLAVE_ADDRESS通常为7位或10位,第8位或11位表示数据传输方向(写或读)。数据在SCL高电平时稳定,SDA高电平表示“1”,低电平表示“0”;SCL低电平时SDA电平切换。数据传输格式规定每个字节为8位,总字节数不限,每个字节后跟响应位。MSB位首先传输。若从机忙于其他功能,如中断服务程序,SCL需保持低电平,迫使主机等待。数据接收方收到字节后给出“应答(ACK)”或“非应答(NACK)”响应。
通讯过程涉及不断更新状态寄存器I2C_SRx,可通过读取相应位了解通讯状态。主发送器流程包括发送设备地址、等待应答、传输数据、结束通讯。接收数据(读数据)过程包含两次起始信号,第一次找到从设备后,向从设备写入读取数据地址,第二次开始读取数据。要深入了解I2C协议,参考《I2C总线协议》文档,不论在何种芯片上开发,都遵循同一协议标准。后续文章将介绍硬件I2C和GPIO模拟I2C的读写实验。