完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
3个回答
|
|
|
|
|
|
您的设备地址对不对
|
|
|
|
从您提供的代码片段来看,您正在尝试通过I2C通信读取TLV320AIC10寄存器1的值。但是,您提到从DRR0读取的值并不是寄存器1里的值。这可能是由以下几个原因导致的:
1. 寄存器地址错误:请确保您发送的寄存器地址是正确的。在您的代码中,DXR0被设置为0x1200,这可能不是寄存器1的正确地址。请查阅TLV320AIC10的数据手册,找到正确的寄存器地址。 2. 通信协议错误:请确保您遵循了正确的I2C通信协议。在您的代码中,您使用了SPCR0寄存器来检查通信状态。请确保您正确地设置了I2C通信协议,包括时钟速率、地址模式等。 3. 硬件连接问题:请检查您的硬件连接,确保TLV320AIC10与您的DSP之间的I2C连接是正确的。检查数据线和时钟线的连接,以及电源和地线。 4. 代码逻辑错误:请检查您的代码逻辑,确保您正确地发送了读取请求,并在收到响应后读取数据。在您的代码中,您使用了while循环来等待通信准备就绪,但请确保您在读取数据之前正确地发送了读取请求。 5. 寄存器值被其他操作影响:请检查您的代码,确保没有其他操作影响了寄存器1的值。例如,如果您在读取寄存器1之前修改了它的值,那么您读取到的值可能不是您期望的值。 为了解决这个问题,您可以尝试以下步骤: 1. 仔细阅读TLV320AIC10的数据手册,了解寄存器1的地址和通信协议。 2. 检查您的硬件连接,确保I2C连接是正确的。 3. 检查您的代码逻辑,确保您正确地发送了读取请求,并在收到响应后读取数据。 4. 使用调试工具(如调试器或逻辑分析仪)来检查I2C通信过程中的数据传输,以确保数据传输是正确的。 5. 如果问题仍然存在,您可以尝试使用其他方法读取寄存器1的值,例如使用SPI通信或直接访问硬件寄存器。 |
|
|
|
只有小组成员才能发言,加入小组>>
579 浏览 1 评论
416 浏览 1 评论
611 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
892 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
702 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
178浏览 29评论
1142浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
315浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
276浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
125浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-31 10:48 , Processed in 0.983474 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号