我正在尝试对 stm32 进行编程以与我的 i2c EEprom 对话,但似乎每次我说:
I2C_GenerateSTART(I2C1, ENABLE);
while( !(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) ); the code hangs here
我使用了调试器,发现没有设置 SR1 位 0 标志(这是生成的起始位标志),这就是代码挂起的原因。我可以在示波器中看到生成了起始位,这有时会起作用。当我尝试连续进行多次写入时,它通常会中断。我检查了硬件一切看起来都很好我检查了我在 i2c 总线上运行的频率,它在 24lc1025 eeprom 内是 100Khz。
有任何想法吗,
谢谢