微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 关于OPT3001的Slave address byte中A1,A0位的确定

关于OPT3001的Slave address byte中A1,A0位的确定

时间:10-02 整理:3721RD 点击:

本人大三自动化学生,最近买了两个OPT3001做照度显示小系统,然后读寄存器的值总是0,看到数据手册有一点不理解的地方,希望大家多多指点,小弟再次先谢过了。

I2C串行总线地址是8位的,且最后一位是读写位,但是数据手册上给出的A1、A0却有四种情况,是这么说的:

Four I2C addresses are possible by connecting the ADDR pin to one of four pins: GND, VDD, SDA, or SCL.Table 2 summarizes the possible addresses with the corresponding ADDR pin configuration.(TABLE 2如下)

1000 100             GND

1000 101             VDD

1000 110             SDA

1000 111             SCL

有的例程上给的是 0x88 也就是第一个地址了,但是为什么是GND呢?请高手指点A1、A0的取法,感激不尽

芯片的ADDR引脚设置了地址,详见Table 2. Possible I2C Addresses with Corresponding ADDR Configuration。

10001000对应的刚刚好就是0x88啊! 这时候ADDR就应该连到 GND啊。

本来7位从机地址为10001A1A0, 而A1,A0 取决于ADDR的接法,ADDR接地的话,正好是1000100,第八位是读写位,写为0,即10001000,正好是0x88.

地址左移一位,才是写入寄存器的值。

谢谢您的解答,很详细。我早已调试好了,接下来我会继续提高自己的英语水平,以防此类低级问题的出现。

谢谢您的解答,很详细。我早已调试好了,接下来我会继续提高自己的英语水平,以防此类低级问题的出现。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top