雾里闲逛 发表于 2025-5-30 09:02

两次I2C主模式下通讯的间隔有要求吗

如题
如果使用APM32F103的I2C的主模式下,两次I2C通讯的发起有时间间隔的要求吗?
我发现有的时候第二次I2C通讯中,从地址不ack我。

Gfan 发表于 2025-5-30 16:28

是有的,具体可以参考F103手册

夜幕叙事曲 发表于 2025-5-30 22:53

您这个从机不应答 是不是从机正在干活,本身就是没有ready状态下

涡流远见者 发表于 2025-5-31 08:49

I2C通讯两次发起并没有啥设置,硬件会自行完成。
但从机可不是必须应答

星云避风港 发表于 2025-5-31 14:44

这个太有学问了,还真没有注意到这个知识点

DawnFervor 发表于 2025-6-1 21:16

自己是master的没有必要。只要检查到当前I2C总线已经ready了就代表了上一次发送已完成。
版主的截图是硬件实现的。

VelvetNight 发表于 2025-6-3 19:12

I2C通讯的难度有这么大吗?

modesty3jonah 发表于 2025-6-4 09:02

从一个通信周期的 Stop 条件结束,到下一个通信周期的 Start 条件开始之间的最小时间间隔。

bartonalfred 发表于 2025-6-4 10:26

较大的上拉电阻会延长 SDA/SCL 信号的上升时间,需适当增加总线空闲时间。

pentruman 发表于 2025-6-4 11:22

总线上所有设备有足够时间释放 SDA 和 SCL 线,并准备好接收新的通信。

HeartbeatEcho 发表于 2025-6-4 11:33

主机在发送需要检查一下当前I2C总线是否处于空闲。如果空闲则继续发送,否则要么阻塞,要么退出。

51xlf 发表于 2025-6-4 12:36

标准模式(100kHz):≥ 4.7μs
快速模式(400kHz):≥ 1.3μs
高速模式(3.4MHz):≥ 0.6μs

louliana 发表于 2025-6-4 14:04

​​电容负载与信号完整性​​:

chenci2013 发表于 2025-6-4 15:51

使用高优先级任务处理 I2C 通信,或实现忙等待延时。

belindagraham 发表于 2025-6-4 17:33

为了避免这种情况,通常建议在两次I2C通信之间留出足够的时间间隔,以便从设备完成当前的操作并准备好接收新的通信。

jonas222 发表于 2025-6-5 11:44

5~100ms            

rosemoore 发表于 2025-6-5 13:32

合理控制两次 I2C 通信的间隔时间

SpiritSong 发表于 2025-6-5 14:43

每次都周期性的读取从设备

pmp 发表于 2025-6-5 15:14

限制总线长度(通常<50cm)            

幻影书记 发表于 2025-6-5 16:39

I2C还有这么多的边界条件呀
页: [1] 2 3
查看完整版本: 两次I2C主模式下通讯的间隔有要求吗