TI论坛
直播中

摩托罗拉

8年用户 896经验值
私信 关注
[问答]

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


  • PCM1863为何通过I2C无法读取到寄存器值?返回值总是00
    但是写成功,声音正常。
    不知道有没有遇到同样的问题的朋友?
    请不要怀疑I2C驱动写的是否正确。挂在同一总线上的EEPROM读写都是可以的。

回帖(3)

李缬呓

2024-10-23 17:09:22
你是所有的寄存器都无法读取,还是某个寄存器无法读取?如果是某一个寄存器,请告知我是哪一个寄存器,另外该寄存器是否可写?
举报

陈娟

2024-10-23 17:09:31
  您是否确认确实是可以写寄存器了?建议更改一些寄存器的配置,确认一下是否能写。一般来说能写就一定能读了。
另外就是向Kailyn说的,确认一下读写的指令。
举报

h1654155275.5669

2024-10-24 11:10:01
PCM1863是一款音频编解码器,通常用于音频信号的数字到模拟转换。I2C是一种串行通信协议,用于在微控制器和外围设备之间传输数据。在您的问题中,您提到通过I2C无法读取PCM1863的寄存器值,但写入操作成功,声音也正常。以下是一些建议和可能的原因:

1. 检查I2C地址:确保您使用的I2C地址与PCM1863的地址相匹配。PCM1863的I2C地址通常为0x4E(7位)或0x9C(8位)。

2. 检查I2C通信速率:确保您的I2C通信速率与PCM1863支持的速率相匹配。PCM1863支持最高400kHz的I2C通信速率。

3. 检查I2C总线:由于您提到EEPROM读写正常,I2C总线可能没有问题。但是,建议您检查I2C总线上的拉高电阻是否正确连接,以确保总线稳定。

4. 检查PCM1863的电源和地线:确保PCM1863的电源和地线连接正确,以确保设备正常工作。

5. 检查PCM1863的初始化代码:确保您的初始化代码正确设置了PCM1863的寄存器值。错误的初始化可能导致无法读取寄存器值。

6. 检查寄存器地址:确保您尝试读取的寄存器地址是有效的。PCM1863的寄存器地址范围为0x00到0x2F。

7. 尝试使用其他I2C设备:如果可能,尝试将其他I2C设备连接到同一I2C总线上,以检查问题是否与PCM1863特定。

8. 检查代码逻辑:虽然您提到不要怀疑I2C驱动代码,但请确保您的读取操作逻辑正确。例如,确保您在读取操作之前正确地发送了寄存器地址。

如果以上建议都无法解决问题,您可能需要进一步检查硬件连接或寻求专业人士的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分