在STM32F101中,由于复位发生了一些意外,BUSY标志保持高电平。为此,我遵循了以下STM文档的第26页中给出的步骤:
在执行步骤时,我可以执行第一步。在第二步中(将SCL和SDA设置为开漏输出,并将其值设置为高),我将SCL和SDA都设置为输出开漏,但是如果我将引脚设置为高电平,则只能将SCL的IDR寄存器设置为高电平并将SDA引脚的设置为高电平无法设置IDR寄存器(但已设置了ODR寄存器)。因此,我无法继续进一步的步骤。请帮我解决这个问题
答案 0 :(得分:1)
在这种情况下,这不是问题。从设备将SDA保持为低电平。要退出此死锁,您需要提供8至12个时钟。您需要切换SCL引脚,并且在每个时钟之后,您需要检查SDA线是否已被从器件释放。这与勘误表没有共同之处。
在此之后可以重置I2C外设。