https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1520629/opt3004-i2c-read-issue-00h
器件型号:OPT3004工具/软件:
尊敬的团队:
我们按照数据表设置 I2C 寄存器 addr 并发出读取命令、但不确定为什么我们始终获得0x0000数据。
我们是否需要发出任何其他命令? (此外、我们使用 OPT3004 EVM)





此致、
Roy
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1520629/opt3004-i2c-read-issue-00h
器件型号:OPT3004工具/软件:
尊敬的团队:
我们按照数据表设置 I2C 寄存器 addr 并发出读取命令、但不确定为什么我们始终获得0x0000数据。
我们是否需要发出任何其他命令? (此外、我们使用 OPT3004 EVM)





此致、
Roy
尊敬的 Roy:
下面的指南说明了如何轻松使用 OPT3004EVM。 您需要选择持续运行。
谢谢您、
Joseph Scherphorn
您好、Joseph:
目前、我们正在使用自己的 MCU 开发 OPT3004。 当前问题是、每次我们读取00h 时、回读数据始终为0x0000h。 但另一个寄存器正常。

01h = C810h
02h = 0000h
03h = BFFFh
7Eh = 5449h
7Fh = 3001h
我们尝试将01h 从 C810h 修改为 CC10h (连续转换)、但仍然无法从00h 读取正确的数据。
01h = C810h -> CC10h

你对这个问题有什么想法吗?
此致、
Roy
您好、Joseph:
接下来、您会说如果您继续读取结果寄存器(0x00)、您将继续获得相同的0x0000结果?
是的。 我们尝试读取1分钟的值、但始终报告0x00。
您在标准模式下正确运行 i2c?
根据客户提供的数字。 (请参阅 E2E 中的初始问题)时钟频率为200kHz。 这是个问题吗?
但其他寄存器可以读取/写入。 而00h 可以响应 ACK。 我不确定最初是否遗漏了任何内容。
此致、
Roy
您好、Roy、
器件处于连续转换状态、您能否为结果寄存器读取尝试提供示波器屏幕截图? 我相信之前的示波器屏幕截图是在器件处于关断模式时拍摄的。
只需确认:客户微控制器板上的 i2c 线路上是否有上拉电阻?
同样、解决此问题的最快方法是在器件由 GUI 运行时简单地设置 i2c 线路的范围、然后与使用客户电路板进行"相同"配置的示波器屏幕截图进行比较。
谢谢、
Joseph Scherphorn