打印
[STM32G0]

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

[复制链接]
106|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。

使用特权

评论回复
5
帛灿灿| | 2025-5-7 07:36 | 只看该作者
设备电源稳不稳?我之前供电不够不应答。

使用特权

评论回复
6
童雨竹| | 2025-5-7 07:37 | 只看该作者
是不是用了写命令但设备只支持读?

使用特权

评论回复
7
万图| | 2025-5-7 07:38 | 只看该作者
我加了延时才稳定起来的。

使用特权

评论回复
8
Wordsworth| | 2025-5-7 07:38 | 只看该作者
SDA和SCL有没有被别的器件拉住?

使用特权

评论回复
9
Bblythe| | 2025-5-7 07:39 | 只看该作者
上拉电阻是不是太大了?

使用特权

评论回复
10
Pulitzer|  楼主 | 2025-5-7 07:40 | 只看该作者
地址搞错高位会一直没响应。

使用特权

评论回复
11
Uriah| | 2025-5-7 07:41 | 只看该作者
是不是同时有两个主机?

使用特权

评论回复
12
两只袜子| | 2025-5-7 11:52 | 只看该作者
从设备地址是否正确?

使用特权

评论回复
13
jcky001| | 2025-5-7 11:52 | 只看该作者
I2C从设备地址通常为7位,但STM32硬件I2C在发送时会自动左移一位(将7位地址转为8位格式,最低位为读写标志)。若未正确左移或地址本身错误,从设备无法识别自身地址,导致无ACK返回。

使用特权

评论回复
14
cr315| | 2025-5-7 11:52 | 只看该作者
建议用逻辑分析仪抓取总线波形,验证发送的地址是否符合预期。

使用特权

评论回复
15
elephant00| | 2025-5-7 11:53 | 只看该作者
若总线上存在多个从设备,或从设备未正确初始化,会导致无ACK。

使用特权

评论回复
16
classroom| | 2025-5-7 11:57 | 只看该作者
检查I2C时钟配置是否正确。

使用特权

评论回复
17
duo点| | 2025-5-7 11:59 | 只看该作者
上逻辑分析仪。

使用特权

评论回复
18
flycamelaaa| | 2025-5-7 12:30 | 只看该作者
检查从设备的电源、I2C接口使能状态及地址配置。

使用特权

评论回复
19
powerantone| | 2025-5-7 13:26 | 只看该作者
上拉电阻阻值过大或未连接,可能导致信号电平异常,影响ACK检测。

使用特权

评论回复
20
stormwind123| | 2025-5-7 14:26 | 只看该作者
若总线上存在多个主设备同时操作,或存在电磁干扰,可能导致信号异常,影响ACK检测。

使用特权

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

本版积分规则

63

主题

4572

帖子

0

粉丝