本人大三自动化学生,最近买了两个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的取法,感激不尽
Martin:
10001000对应的刚刚好就是0x88啊! 这时候ADDR就应该连到 GND啊。
Jason Shen:
地址左移一位,才是写入寄存器的值。
ZENG LI2:
回复 Kailyn Chen:
谢谢您的解答,很详细。我早已调试好了,接下来我会继续提高自己的英语水平,以防此类低级问题的出现。
ZENG LI2:
回复 Martin:
谢谢您的解答,很详细。我早已调试好了,接下来我会继续提高自己的英语水平,以防此类低级问题的出现。