初级会员

- 积分
- 126
- 金钱
- 126
- 注册时间
- 2016-2-19
- 在线时间
- 22 小时
|
最近在弄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的代码。
|
|