[STM32G0] I2C外设有时读不到数据,好像从机没响应

[复制链接]
269|10
Wordsworth 发表于 2025-10-10 07:54 | 显示全部楼层 |阅读模式
用I2C读EEPROM,前几次都正常,之后突然不应答,复位一下又好。波形上看SCL正常,但SDA卡低电平不放。看着像总线被占住了,不清楚是软件死锁还是硬件拉低。
Clyde011 发表于 2025-10-10 07:57 | 显示全部楼层
我在G0上改用LL库后好多了。
公羊子丹 发表于 2025-10-10 07:58 | 显示全部楼层
我也被这个问题坑过,是EEPROM忙状态太久。
周半梅 发表于 2025-10-10 07:59 | 显示全部楼层
你试试加个总线恢复函数。
帛灿灿 发表于 2025-10-10 08:00 | 显示全部楼层
是不是有时候没发送STOP?
童雨竹 发表于 2025-10-10 08:01 | 显示全部楼层
我这边SDA卡低是因为GPIO没复用成功。
万图 发表于 2025-10-10 08:02 | 显示全部楼层
你可以在卡死时切成GPIO手动释放。
 楼主| Wordsworth 发表于 2025-10-10 08:03 | 显示全部楼层
是不是电容太大,线拉不起来?
Bblythe 发表于 2025-10-10 08:04 | 显示全部楼层
我后来在每次失败后做一次软复位就行了。
Pulitzer 发表于 2025-10-10 08:04 | 显示全部楼层
看下I2C时钟频率是不是太高。
Uriah 发表于 2025-10-10 08:05 | 显示全部楼层
我觉得是ACK检测时序太紧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

6284

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部