赞
踩
首先区分i2c与sccb的区别,实际上sccb是阉割了i2c的连续读写功能的一个专用于ov系列摄像头的通讯协议(既每次只能读写八个bit),所以我再想寻找ov2640的设备地址时将ic的设备地址定义套入sccb中是不可行的。
sccb中强制定义了ov2640的设备地址写地址和读地址是0x60、0x61,所以不像i2c里可以给用户自定义空间。
i2c的设备地址
协议格式中第一个字节(为slave address)由7位地址和一位R/W读写位组成的,这字节是个器件地址。
常用IIC接口通用器件的器件地址是由种类型号,及寻址码组成的,共7位。
如格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
1、器件类型:D7-D4 共4位决定的。这是由半导公司生产时就已固定此类型的了,也就是说这4位已是固定的。
2、用户自定义地址码:D3-D1共3位。这是由用户自己设置的,通常的作法如EEPROM这些器件是由外部IC的3个引脚所组合电平决定的(用常用的名字如A0,A1,A2)。这也就是寻址码。所以为什么同一IIC总线上同一型号的IC只能最多共挂8片同种类芯片的原因了。
3、最低一位就是R/W位,,“0”表示写,“1”表示读(通常读写信号中写上面有一横线,表示低电平)。所以I2C设备通常有两个地址,即读地址和写地址。
本文参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。