打印
[技术问答]

使用MCU当I2C从机,在连续接收数据时,为什么SCL会有短暂的停顿?

[复制链接]
322|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2021-4-6 11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用MCU当I2C从机,在连续接收数据时,为什么SCL会有短暂的停顿?

使用特权

评论回复
沙发
海滨消消| | 2021-4-6 16:46 | 只看该作者
依照I2C BUS的定義,當從機處於忙碌的狀態時,可以將I2C_SCL拉低,強制讓傳輸暫停。
當I2C發生中斷時,會將I2C_SCL拉低,使主機暫停傳輸。直到程式觸發I2C繼續接受下一筆資料,才會將I2C_SCL拉高,恢復傳輸。
因此,我們可以由I2C_SCL停頓的時間,得知I2C中斷處理的時間。

使用特权

评论回复
板凳
duo点| | 2021-4-6 16:46 | 只看该作者
这个应该是代码的问题,我做过一个测试代码,主机100KHz方波送——字节与字节之间没有延时,SCLK 是连续的波。我们的芯片照样接收正常。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

653

主题

2697

帖子

0

粉丝