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的代码。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
Cantoluna
1楼-- · 2019-07-21 00:11
现在能够发现PCA9548输入端和输出端的电平是一样的,但是如果传感器放到输入端则能够获取到传感器的数据。但是放到输出端的话就没有相应的数据,在示波器上也能够体现着一现象。
Cantoluna
2楼-- · 2019-07-21 05:16
 精彩回答 2  元偷偷看……

一周热门 更多>