打印
[其他ST产品]

STM32软件模拟IIC通信AT24C02,能读不能写?

[复制链接]
306|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
豌豆爹|  楼主 | 2023-10-11 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用STM32软件模拟IIC通信,读写AT24C02的时候,出现了能读不能写的情况,一番纠结无果后,直接用上了正点原子的例程,仍然是能读不能写,我怀疑板子出问题了,但是换了一块板子也是同样的情况,我又换了野火哥的例程,和另一个网上的例程,两块板子任然是能读不能写,我现在怀疑是不是keil软件有什么设置不对,有大佬指点指点吗?

使用特权

评论回复
沙发
Stahan| | 2023-10-11 19:30 | 只看该作者
有没有修改成对应的引脚啊

使用特权

评论回复
板凳
柒月了| | 2025-3-12 09:26 | 只看该作者
你好大佬。AT24C02能读不能写的问题解决了吗?

使用特权

评论回复
地板
公羊子丹| | 2025-3-13 08:20 | 只看该作者
你检查过 WP(写保护)引脚了吗?如果 WP 置高,EEPROM 是禁止写入的。

使用特权

评论回复
5
周半梅| | 2025-3-13 08:22 | 只看该作者
AT24C02 写入有 5ms 左右的存储时间,写完后要等一下,不然可能读取的还是旧数据。

使用特权

评论回复
6
帛灿灿| | 2025-3-13 08:23 | 只看该作者
你的 I2C 时序有没有抓波形?看看 ACK 和 STOP 信号,看看写入的时候是不是有异常。

使用特权

评论回复
7
童雨竹| | 2025-3-13 08:25 | 只看该作者
换了多个例程都不能写,估计不是代码问题,建议试试降低 I2C 速率,比如改成 10kHz 试试。

使用特权

评论回复
8
万图| | 2025-3-13 08:26 | 只看该作者
AT24C02 的地址有可能不一样,试试 0xA0 或 0x50 这种不同的地址,看看是不是地址匹配问题。

使用特权

评论回复
9
Wordsworth| | 2025-3-13 08:27 | 只看该作者
你是用 模拟 I2C 还是 硬件 I2C?如果是 模拟 I2C,可能是 GPIO 初始化或者时序的问题。

使用特权

评论回复
10
Bblythe| | 2025-3-13 08:29 | 只看该作者
EEPROM 写入的时候 SDA 需要保持稳定,建议加 10K 上拉电阻,看是不是信号质量的问题。

使用特权

评论回复
11
Pulitzer| | 2025-3-13 08:30 | 只看该作者
写入前先 读 一下,确认写的地址和数据正确,然后 再读 一遍,看看数据有没有变化。

使用特权

评论回复
12
Uriah| | 2025-3-13 08:32 | 只看该作者
如果怀疑 KEIL 设置问题,可以试试 STM32CubeIDE 或 IAR,看看是不是 编译优化 影响了时序。

使用特权

评论回复
13
Clyde011| | 2025-3-13 08:33 | 只看该作者
试试 先写一字节,然后 连续读写,不同情况对比一下,看看是不是 Page Write 方式导致的问题。

使用特权

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

本版积分规则

518

主题

2019

帖子

6

粉丝