Clock Stretch Mode时钟延长模式:
时钟延长是一个术语,某些从设备可以把时钟线拉低,主设备发现自己释放时钟线之后时钟线还没有变成高电平,就会停止发送数据,然后等待从设备释放时钟线。通过这种方式从设备可以告诉主设备你慢点发,我这边还得准备准备(比如从机有个其他中断要处理),这在从机速率比主机低的时候会有用,stm32会默认开启时钟延长模式[Clock No Stretch Mode=disbale](这里的disable和No双重否定等于肯定),不过大多数IIC设备没有时钟延长的设定.
会导致什么问题呢?就是以STM32 MCU作为从设备时,从设备会出现ACK延时的情况,原因就是从机会主动拉低SCL不释放,一直到从机处理完它的工作再释放,主机才能发送第9各时钟,从机才真正发出ACK, 波形上就是ACK信号延迟。
————————————————
版权声明:本文为CSDN博主「坂田民工」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40731414/article/details/134965602
|