PCA9548的使用问题

2019-07-20 18:13发布

最近在弄PCA9548APW这个芯片(I2C一分八路I2C的芯片,全程只是I2C通信)。使用的控制芯片为STM32F407ZGT6,之前看到说是STM32的I2C不稳定,所以现在使用的是IO模拟I2C。但是现在按照芯片手册发送了START信号后再发送芯片地址,此时通过示波器查看总线上的情况,并没有看到总线上存在芯片返回的ACK信号。很好奇是什么情况才能够导致ACK信号不反回呢。确定芯片是正常运行的,发送的地址信息也是正常的。代码如下所示
FunctionalState I2C_WriteByte(uint8_t SendByte)
{
    I2C_Start();
    I2C_delay();

    I2C_SendByte(0x77);
    I2C_WaitAck();

    I2C_SendByte(SendByte);
    I2C_WaitAck();

    I2C_Stop();
    I2C_delay();
   
    return ENABLE;
}
模块使用的是原子哥之前的24C02的代码。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。