[N32G43x]

I2C2通信失败

[复制链接]
557|9
手机看帖
扫描二维码
随时随地手机跟帖
jaye_cui|  楼主 | 2025-6-20 18:17 | 显示全部楼层 |阅读模式
我使用N32G435的芯片,使用I2C1通信正常,使用I2C2通信不正常。
现象:发送起始条件和地址后,从机正常回复ACK,但是I2C2的状态寄存器ADDR10F置位,而我使用的是7bit地址模式。等待EV6失败而退出通信。




请知道原因的大神指教,谢谢。

使用特权

评论回复
jaye_cui|  楼主 | 2025-6-23 08:35 | 显示全部楼层
本帖最后由 jaye_cui 于 2025-6-23 09:29 编辑

这是寄存器数据
企业微信截图_20250623092918.png

使用特权

评论回复
codingtuzi| | 2025-6-21 08:43 | 显示全部楼层
检查自己的代码吧!
大概率是自己的软件问题

使用特权

评论回复
丙丁先生| | 2025-6-21 18:34 | 显示全部楼层

[N32G43x] ”N32G435的芯片,I2C2通信不正常,发送起始条件和地址后,从机正常回复ACK,但是I2C2的状... https://bbs.21ic.com/icview-3463510-1-1.html

使用特权

评论回复
丙丁先生| | 2025-6-21 18:37 | 显示全部楼层

高效、快速、敏捷、有效,成功的问题,高于重复的做答,方向明了,逐行测试,定有收获,

使用特权

评论回复
丙丁先生| | 2025-6-21 18:37 | 显示全部楼层

高效、快速、敏捷、有效,成功的问题,高于重复的做答,方向明了,逐行测试,定有收获,

使用特权

评论回复
jaye_cui|  楼主 | 2025-6-23 08:26 | 显示全部楼层
codingtuzi 发表于 2025-6-21 08:43
检查自己的代码吧!
大概率是自己的软件问题

代码是用的RT-Thread,配置和I2C1的代码完全一样

使用特权

评论回复
jaye_cui|  楼主 | 2025-6-23 08:34 | 显示全部楼层
这是寄存器的数据

使用特权

评论回复
jaye_cui|  楼主 | 2025-6-23 10:51 | 显示全部楼层
网上找到资料说,当地址的高5位为11110时,总线自动识别为10bit地址模式,所以ADDR10F位被置位,所以在地址为0xF0时,总线认为是10bit地址模式,因此置位了ADDR10F位。

使用特权

评论回复
tpgf| | 2025-6-25 10:10 | 显示全部楼层
确认SDA和SCL线正确连接且无短路/断路

检查I2C设备地址是否正确(使用逻辑分析仪或示波器验证)

测量上拉电阻值(通常4.7kΩ-10kΩ,根据总线电容调整)

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝