TI中文支持网
TI专业的中文技术问题搜集分享网站

PCM1863为何通过I2C无法读取到寄存器值?

PCM1863为何通过I2C无法读取到寄存器值?返回值总是00

但是写成功,声音正常。

不知道有没有遇到同样的问题的朋友?

请不要怀疑I2C驱动写的是否正确。挂在同一总线上的EEPROM读写都是可以的。

william qin:

主要是遇到一个问题,设备开机后有一定概率的一个声道没声音,一个声道正常。

当遇到异常时,再初始化一遍就好了。

所以在异常时我想要读取寄存器的值出来看看是什么问题,但读出来总是00.

Maksim Liu:

回复 william qin:

你好,你是所有的寄存器都无法读取,还是某个寄存器无法读取?如果是某一个寄存器,请告知我是哪一个寄存器,另外该寄存器是否可写?

谢谢。

Kailyn Chen:

读的时候发送一个repeat  start 条件进行读。

也就是说读时序是这样的(比如要读取寄存器A中的B数据):

Start–7bit slave address+write bit–ACK—registerA –ACK—repeat start—7bit slave address+read bit—ACK—data B–NACK–Stop 

Maksim Liu:

回复 william qin:

您是否确认确实是可以写寄存器了?建议更改一些寄存器的配置,确认一下是否能写。一般来说能写就一定能读了。

另外就是向Kailyn说的,确认一下读写的指令。

赞(0)
未经允许不得转载:TI中文支持网 » PCM1863为何通过I2C无法读取到寄存器值?
分享到: 更多 (0)