微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > PCM1863为何通过I2C无法读取到寄存器值?

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说的,确认一下读写的指令。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top