打印
[MM32软件]

硬件I2C读取24C16地址为0x5xx时死机的问题

[复制链接]
1940|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZG11211|  楼主 | 2024-12-7 12:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
LibSamples_MM32F0140_V1.3.7\Samples\LibSamples\I2C\I2C_Master_EEPROM_Polling;
将其部分函数修改后用来读写24C16时,发现只要高位是5时,读取就会卡死,比如0x550,用逻辑分析仪抓取发送数据为0xAA,0x50,0xAB,最后这个读命令字节发出后24C16应答了ACK,之后SCL一直保持低电平卡死;写入正常,用IO模拟读写正常,我没有开发板,用的PA11,PA12,厂商FAE或者网友要是有时间可以帮忙测试一下,看是不是我自己的问题。
提示,我在初始化时将I2C1->SAR的默认值0x55修改后就不会卡死。

使用特权

评论回复
沙发
AloneKaven| | 2024-12-10 16:26 | 只看该作者
地址是0x550?

使用特权

评论回复
板凳
AloneKaven| | 2024-12-10 16:26 | 只看该作者
iic地址有这么长吗

使用特权

评论回复
地板
ZG11211|  楼主 | 2024-12-12 20:49 | 只看该作者
24C16最大地址7FF;

读550时,从机ACK应答后,时钟被单片机一直拉低进入死循环;

读622地址,从机ACK应答后,单片机可以正常发送读时钟信号,可以读取到数据。

使用特权

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

本版积分规则

31

主题

1118

帖子

8

粉丝