打印
[STM32F0]

I2C读EEPROM每次都要掉电重启才成功

[复制链接]
185|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bblythe|  楼主 | 2025-6-10 07:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序跑起来第二次读就挂住,只有断电后才恢复正常。

使用特权

评论回复
沙发
Clyde011| | 2025-6-10 07:28 | 只看该作者
上拉电阻要选对,不然时序乱。

使用特权

评论回复
板凳
公羊子丹| | 2025-6-10 07:29 | 只看该作者
看看是不是停止信号没发好?

使用特权

评论回复
地板
周半梅| | 2025-6-10 07:30 | 只看该作者
有的EEPROM要等写完成才能再读。

使用特权

评论回复
5
帛灿灿| | 2025-6-10 07:31 | 只看该作者
I2C线拉太长信号反射严重。

使用特权

评论回复
6
童雨竹| | 2025-6-10 07:31 | 只看该作者
用逻辑分析仪抓一下总线行为更直观。

使用特权

评论回复
7
万图| | 2025-6-10 07:32 | 只看该作者
EEPROM型号是哪一款?有些兼容问题挺多。

使用特权

评论回复
8
Wordsworth| | 2025-6-10 07:33 | 只看该作者
CubeMX生成的代码有坑,我改了不少。

使用特权

评论回复
9
Bblythe|  楼主 | 2025-6-10 07:34 | 只看该作者
开启ACK检测看看有没有应答失败。

使用特权

评论回复
10
Pulitzer| | 2025-6-10 07:35 | 只看该作者
看下是不是初始化跑了两次。

使用特权

评论回复
11
Uriah| | 2025-6-10 07:35 | 只看该作者
从机地址是不是8位还是7位设错了?

使用特权

评论回复
12
内政奇才| | 2025-6-10 16:51 | 只看该作者
I2C未正确初始化?

使用特权

评论回复
13
flycamelaaa| | 2025-6-10 17:00 | 只看该作者
时钟配置不稳定?

使用特权

评论回复
14
uytyu| | 2025-6-15 21:19 | 只看该作者
缩短走线长度或添加总线缓冲器              

使用特权

评论回复
15
jimmhu| | 2025-6-16 09:32 | 只看该作者
写操作时序:
发送起始信号→设备地址(写)→ACK→内存地址→ACK→数据→停止信号
等待写周期完成(典型 5ms,需延时后再操作)
读操作时序:
发送起始信号→设备地址(写)→ACK→内存地址→ACK
重复起始信号→设备地址(读)→ACK→读取数据→NACK→停止信号

使用特权

评论回复
16
i1mcu| | 2025-6-16 10:57 | 只看该作者
EEPROM 写周期约 5ms,未等待完成即读取

使用特权

评论回复
17
sdCAD| | 2025-6-16 12:45 | 只看该作者
电源不稳定或者电源噪声可能会导致EEPROM工作不正常。

使用特权

评论回复
18
linfelix| | 2025-6-16 16:57 | 只看该作者
优化软件逻辑              

使用特权

评论回复
19
1988020566| | 2025-6-16 17:34 | 只看该作者
断开I2C总线上其他设备              

使用特权

评论回复
20
belindagraham| | 2025-6-16 18:03 | 只看该作者
排查EEPROM状态              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

5030

帖子

0

粉丝