今天在用stm32f103c8t6调试硬件IIC,一直卡在 while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); 这里。
这个原因是发送从器件地址后,没有应答造成的。但是地址是正确的啊。
真的很烦恼啊
写操作的部分代码
while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));
I2C_AcknowledgeConfig(I2C1,ENABLE);
I2C_GenerateSTART(I2C1, ENABLE);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)){}
I2C_Send7bitAddress(I2C1, MCP3425_Address, I2C_Direction_Transmitter);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)){}
I2C_SendData(I2C1, comd);
while(! I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) {};
I2C_GenerateSTOP(I2C1, ENABLE);
请哪位调通过的大神帮我一下,小弟在这谢谢了 |