您好!
我当前正在编写一些固件、以使用 Microchip 的一些 I2C 代码来控制 DAC53608。 在探测输出电压之前、我希望看到、在对数据寄存器进行 I2C 写入后、可以读回相同的值。 一些逻辑捕获显示这些字节由3608进行 ACK。 但当我触发读取时、我只看到从 DAC 读回了0x00。 大家对此有什么想法吗?
为了便于参考、我尝试对 I2C SCL 使用400kHz 和100kHz。 我们的 LDAC 与 GND 相连、而 VCC 与 VREF 在3.3V 下连在一起。 我在写入字节[0x48 (从器件地址) 0x08 (寄存器 A) 0x02 (MSB) 0x6C (LSB)]时、每个字节都要进行 ACK。 但是、当我读取(再次使用 ACK)时、我只会获得[0x00 0x00]。 希望我们的阅读和写入工作正常,有一些缺陷。 对于读取、我从从从从器件地址开始、R/W 为0表示写入、然后下面的字节是我们要读取的寄存器(0x08)、接下来、我们发送重复的启动、后跟从器件地址、R/W 设置为1表示读取。 在此之后、DAC 会使用0x00进行响应。
任何见解都很有帮助,谢谢!