TLV320AIC3100与STM32的I2C通信问题
时间:10-02
整理:3721RD
点击:
1、现在是想测试TLV320AIC3100与STM32的I2C通信读写,测试方法是对寄存器写值,然后读回,通过返回值0或1来判断读回的值和写入的值是否相同来判断通信是否正常,但是现在返回值始终为1,只能知道读回来的值和写入的不同,但是没法知道为何通信不正常,请问有没有其他的验证I2C通信的方法?
2、有没有关于TLV320AIC3100在STM32的驱动的源码,可以作为设计参考的?
这个思路没问题, 不过至于写哪个寄存器, 是否写0, 还得看寄存器情况, 可能有的寄存器是不能写0, 得看寄存器手册了
另外, 还有, I2c 协议有个握手机制的, 也可以用来判断通信有没有正常的依据.
验证I2C通讯是否异常,可直接看I2C时序即可呢,可以把I2C时序发过来看下。
1、给I2C初始化后,对TLV320是往设备地址0x18的寄存器0x00循环写入0x55,但是现在寄存器ISR的无应答信号NACK置位了,示波器抓取SDA和SCL的波形如图,写的值一直是0x18,不知道是什么原因导致的无应答信号了?这个和主时钟MCLK没有配置有没有关系?
地址不左移一位吗? 0x30