Wordsworth 发表于 2025-6-3 07:19

用I2C读EEPROM,读着读着突然就卡死

通信一开始还正常,读个几轮之后就不动了,I2C线也一直拉低,看着就像死锁了。

Clyde011 发表于 2025-6-3 07:24

建议I2C做状态判断,别一直等。

公羊子丹 发表于 2025-6-3 07:24

检查一下是不是没发STOP?

周半梅 发表于 2025-6-3 07:25

EEPROM有些页写太快会死锁。

帛灿灿 发表于 2025-6-3 07:26

我以前地址写错了一位也这样。

童雨竹 发表于 2025-6-3 07:27

会不会有ACK没收到?

万图 发表于 2025-6-3 07:28

加个timeout机制防止I2C卡死。

Wordsworth 发表于 2025-6-3 07:28

换成软件I2C试过没?

Bblythe 发表于 2025-6-3 07:29

看看是不是线拉不住低电平。

Pulitzer 发表于 2025-6-3 07:30

EEPROM太旧也可能慢响应。

Uriah 发表于 2025-6-3 07:31

我都是加个逻辑分析仪来排查。

jobszheng 发表于 2025-6-3 11:38

使用STM32 的Hal库来调用。
基本不会出现问题

codingtuzi 发表于 2025-6-3 12:47

软件的问题,查吧!
硬件上面,我们运行了好久好久都没有问题的。
页: [1]
查看完整版本: 用I2C读EEPROM,读着读着突然就卡死