之前没有通信,是第一次发送START,就发不出去(示波器看一直是高电平),完全是例程,停在“while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));”了。不知道是什么原因?
I2C_GenerateSTART(I2C1, ENABLE);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));
I2C_Send7bitAddress(I2C1, I2C2_SLAVE_ADDRESS7, I2C_Direction_Transmitter);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
I2C_SendData(I2C1, I2C1_Buffer_Tx[0]);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|