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

[复制链接]
477|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 是连续的波。我们的芯片照样接收正常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

839

主题

4453

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部