嵌入式学习小组
直播中

fejlkel

8年用户 1046经验值
擅长:制造/封装
私信 关注

I2C的Clock stretching功能,如果从机将SCL拉低,主机这时候需要怎么配置?

请教下I2C 的Clock stretching功能吗,比如新唐MCU硬件I2C做主机,外部从机带clock streching功能,如果从机将SCL拉低,主机这时候需要怎么配置。

回帖(1)

李霞

2024-1-9 14:53:49
在I2C总线上,Clock stretching是从机暂时延长SCL高电平时间的一种机制,用于让从机有足够的时间来完成对数据的处理。当从机准备好数据后,它会拉低SCL线,主机将不得不等待从机释放SCL线再继续发送数据。

对于新唐MCU硬件I2C做主机,需要启用硬件的Clock stretching支持。具体配置方法取决于MCU的型号和使用的开发环境。一般来说,需要将I2C控制器的相关寄存器配置为使能Clock stretching功能,同时设置适当的时钟频率和时序参数以保证通信的可靠性。

在从机拉低SCL线后,主机会检测到SCL线变为低电平,主机将暂停发送数据并等待从机释放SCL线。一旦从机释放了SCL线,主机将恢复发送数据的操作。

需要注意的是,Clock stretching机制只适用于单向通信模式,即主机向从机发送数据的情况下。在从机向主机发送数据时,Clock stretching功能无效。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分