PCM1863为何通过I2C无法读取到寄存器值?
时间:10-02
整理:3721RD
点击:
PCM1863为何通过I2C无法读取到寄存器值?返回值总是00
但是写成功,声音正常。
不知道有没有遇到同样的问题的朋友?
请不要怀疑I2C驱动写的是否正确。挂在同一总线上的EEPROM读写都是可以的。
主要是遇到一个问题,设备开机后有一定概率的一个声道没声音,一个声道正常。
当遇到异常时,再初始化一遍就好了。
所以在异常时我想要读取寄存器的值出来看看是什么问题,但读出来总是00.
你好,你是所有的寄存器都无法读取,还是某个寄存器无法读取?如果是某一个寄存器,请告知我是哪一个寄存器,另外该寄存器是否可写?
谢谢。
读的时候发送一个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
您是否确认确实是可以写寄存器了?建议更改一些寄存器的配置,确认一下是否能写。一般来说能写就一定能读了。
另外就是向Kailyn说的,确认一下读写的指令。