以前模拟I2C的时候,是在SDA为高的情况下,SCL强制发送9个脉冲使总线复位。
STM32里面是怎么处理的呢?置为CR1寄存器的SWRST位吗?
这样做的话,复位后,所有 相关的 寄存器啊,时钟啊那不是要重新设置啊? ...
ounie 发表于 2010-8-31 14:25 
依楼主的说法,发9个脉冲是为了使其它I2C器件复位,或释放总线(这个情况我没有遇到过,什么器件要这么做呢)。用STM32的软件复位只能复位器件本身的STM32模块,你可以这么做,你先关闭STM32的I2C模块,然后再模拟复位的脉冲,然后在起动I2C,初始化一下。
|