[STM32G0] I2C ACK老是出不来,是地址错了还是硬件问题?

[复制链接]
960|16
 楼主| Pulitzer 发表于 2025-5-7 07:31 | 显示全部楼层 |阅读模式
我设了7位地址,示波器一看一直不拉低ACK,是不是没真正发送?
Clyde011 发表于 2025-5-7 07:33 | 显示全部楼层
你试试用I2C scan工具扫下地址。
公羊子丹 发表于 2025-5-7 07:34 | 显示全部楼层
地址位有没有左移?有的要8位地址。
周半梅 发表于 2025-5-7 07:35 | 显示全部楼层
用逻辑分析仪一眼能看出有没有ACK。
帛灿灿 发表于 2025-5-7 07:36 | 显示全部楼层
设备电源稳不稳?我之前供电不够不应答。
童雨竹 发表于 2025-5-7 07:37 | 显示全部楼层
是不是用了写命令但设备只支持读?
万图 发表于 2025-5-7 07:38 | 显示全部楼层
我加了延时才稳定起来的。
Wordsworth 发表于 2025-5-7 07:38 | 显示全部楼层
SDA和SCL有没有被别的器件拉住?
Bblythe 发表于 2025-5-7 07:39 | 显示全部楼层
上拉电阻是不是太大了?
 楼主| Pulitzer 发表于 2025-5-7 07:40 | 显示全部楼层
地址搞错高位会一直没响应。
Uriah 发表于 2025-5-7 07:41 | 显示全部楼层
是不是同时有两个主机?
两只袜子 发表于 2025-5-7 11:52 | 显示全部楼层
从设备地址是否正确?
jcky001 发表于 2025-5-7 11:52 | 显示全部楼层
I2C从设备地址通常为7位,但STM32硬件I2C在发送时会自动左移一位(将7位地址转为8位格式,最低位为读写标志)。若未正确左移或地址本身错误,从设备无法识别自身地址,导致无ACK返回。
cr315 发表于 2025-5-7 11:52 | 显示全部楼层
建议用逻辑分析仪抓取总线波形,验证发送的地址是否符合预期。
elephant00 发表于 2025-5-7 11:53 | 显示全部楼层
若总线上存在多个从设备,或从设备未正确初始化,会导致无ACK。
classroom 发表于 2025-5-7 11:57 | 显示全部楼层
检查I2C时钟配置是否正确。
duo点 发表于 2025-5-7 11:59 | 显示全部楼层
上逻辑分析仪。
flycamelaaa 发表于 2025-5-7 12:30 | 显示全部楼层
检查从设备的电源、I2C接口使能状态及地址配置。
powerantone 发表于 2025-5-7 13:26 | 显示全部楼层
上拉电阻阻值过大或未连接,可能导致信号电平异常,影响ACK检测。
stormwind123 发表于 2025-5-7 14:26 | 显示全部楼层
若总线上存在多个主设备同时操作,或存在电磁干扰,可能导致信号异常,影响ACK检测。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

6198

帖子

0

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