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

TLV320AIC3100与STM32的I2C通信问题

1、现在是想测试TLV320AIC3100与STM32的I2C通信读写,测试方法是对寄存器写值,然后读回,通过返回值0或1来判断读回的值和写入的值是否相同来判断通信是否正常,但是现在返回值始终为1,只能知道读回来的值和写入的不同,但是没法知道为何通信不正常,请问有没有其他的验证I2C通信的方法?

2、有没有关于TLV320AIC3100在STM32的驱动的源码,可以作为设计参考的?

user151383853:

这个思路没问题, 不过至于写哪个寄存器, 是否写0, 还得看寄存器情况, 可能有的寄存器是不能写0, 得看寄存器手册了

另外, 还有, I2c 协议有个握手机制的, 也可以用来判断通信有没有正常的依据.

Kailyn Chen:

验证I2C通讯是否异常,可直接看I2C时序即可呢,可以把I2C时序发过来看下。

Laura liu:

回复 Kailyn Chen:

1、给I2C初始化后,对TLV320是往设备地址0x18的寄存器0x00循环写入0x55,但是现在寄存器ISR的无应答信号NACK置位了,示波器抓取SDA和SCL的波形如图,写的值一直是0x18,不知道是什么原因导致的无应答信号了?这个和主时钟MCLK没有配置有没有关系?

user5142806:

回复 Laura liu:

地址不左移一位吗? 0x30

赞(0)
未经允许不得转载:TI中文支持网 » TLV320AIC3100与STM32的I2C通信问题
分享到: 更多 (0)