Bblythe
发表于 2025-6-10 07:24
I2C读EEPROM每次都要掉电重启才成功
程序跑起来第二次读就挂住,只有断电后才恢复正常。
Clyde011
发表于 2025-6-10 07:28
上拉电阻要选对,不然时序乱。
公羊子丹
发表于 2025-6-10 07:29
看看是不是停止信号没发好?
周半梅
发表于 2025-6-10 07:30
有的EEPROM要等写完成才能再读。
帛灿灿
发表于 2025-6-10 07:31
I2C线拉太长信号反射严重。
童雨竹
发表于 2025-6-10 07:31
用逻辑分析仪抓一下总线行为更直观。
万图
发表于 2025-6-10 07:32
EEPROM型号是哪一款?有些兼容问题挺多。
Wordsworth
发表于 2025-6-10 07:33
CubeMX生成的代码有坑,我改了不少。
Bblythe
发表于 2025-6-10 07:34
开启ACK检测看看有没有应答失败。
Pulitzer
发表于 2025-6-10 07:35
看下是不是初始化跑了两次。
Uriah
发表于 2025-6-10 07:35
从机地址是不是8位还是7位设错了?
内政奇才
发表于 2025-6-10 16:51
I2C未正确初始化?
flycamelaaa
发表于 2025-6-10 17:00
时钟配置不稳定?
uytyu
发表于 2025-6-15 21:19
缩短走线长度或添加总线缓冲器
jimmhu
发表于 2025-6-16 09:32
写操作时序:
发送起始信号→设备地址(写)→ACK→内存地址→ACK→数据→停止信号
等待写周期完成(典型 5ms,需延时后再操作)
读操作时序:
发送起始信号→设备地址(写)→ACK→内存地址→ACK
重复起始信号→设备地址(读)→ACK→读取数据→NACK→停止信号
i1mcu
发表于 2025-6-16 10:57
EEPROM 写周期约 5ms,未等待完成即读取
sdCAD
发表于 2025-6-16 12:45
电源不稳定或者电源噪声可能会导致EEPROM工作不正常。
linfelix
发表于 2025-6-16 16:57
优化软件逻辑
1988020566
发表于 2025-6-16 17:34
断开I2C总线上其他设备
belindagraham
发表于 2025-6-16 18:03
排查EEPROM状态