TMP112没有应答信号ACK
hi,
我在使用TMS570LS3137和TMP112进行开发,遇到一些问题。TMS570LS3137的I2C总线上外挂了一片F24V02和一片TMP112,SDA和SCL信号使用10K的电阻上啦,TMP112的V+管脚上使用4.85K电阻和0.1uF电容组成低通滤波器。TMP112的A0脚连接到地了,这样TMP112的地址为0x48。Alert管教空置,未使用。
现在F24V02调试通过了,读写都没有问题。
TMP112无论读写都没有反应,感觉TMS570LS3137没有收到TMP112发出的ACK应答信号。
如图:
代码如下:
i2cSetSlaveAdd(i2cREG1, 0x48);
while((i2cREG1->STR & I2C_BUSBUSY) != 0 );
i2cSetCount(i2cREG1, 1);
i2cREG1->MDR = i2cREG1->MDR | I2C_FREE_RUN | I2C_MASTER | I2C_TRANSMITTER;
i2cSetStart(i2cREG1);
i2cSendByte(i2cREG1, 0x00); // Read address
i2cSetCount(i2cREG1, 2);
i2cREG1->MDR = I2C_FREE_RUN | I2C_START_COND | I2C_STOP_COND |I2C_MASTER | I2C_RECEIVER | I2C_RESET_OUT | I2C_8_BIT;
i2cReceive(i2cREG1,2,data_in);
debug调试发现,代码回停止在i2cReceive函数中,
停在:
while ((i2c->STR & (uint32)I2C_RX_INT) == 0U)
请问是什么原因呢?
从你给的时序波形图看, 从机并没有给出 ACK 信号, 先检查一下从机有没有工作了, 包括上电和信号连接等问题
上电和信号连接没有问题。
您遇到过类似的问题吗?
谢谢