万图 发表于 2025-10-20 07:46

使用I2C EEPROM时偶发写入失败,像没等写周期结束

写AT24C02时偶尔失败,重新上电后那段数据全是0xFF。我用HAL库写入后延时5ms再读,理论上够了。是不是EEPROM内部写周期没等够?

Clyde011 发表于 2025-10-20 07:51

我以前的经验:延时+重试机制最稳。

公羊子丹 发表于 2025-10-20 07:52

AT24C02有时候要等7ms以上,5ms不一定稳。

周半梅 发表于 2025-10-20 07:53

建议用ACK polling,不要死延时。

帛灿灿 发表于 2025-10-20 07:54

我也被这个坑过几次,尤其在低温环境下更慢。

童雨竹 发表于 2025-10-20 07:55

检查下供电电压是不是在临界点。

万图 发表于 2025-10-20 07:56

有时候I2C拉电阻太大也会影响ACK检测。

Wordsworth 发表于 2025-10-20 07:57

我看有些人干脆写两次确认,保险一点。

Bblythe 发表于 2025-10-20 07:58

是不是在写满页时没处理页边界?

Pulitzer 发表于 2025-10-20 07:59

HAL库对I2C的回调有点怪,可以自己改下。

Uriah 发表于 2025-10-20 07:59

用逻辑分析仪抓一抓波形,看ACK是否丢失。
页: [1]
查看完整版本: 使用I2C EEPROM时偶发写入失败,像没等写周期结束