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

[复制链接]
 楼主| 发表于 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修改后就不会卡死。
发表于 2024-12-10 16:26 | 显示全部楼层
地址是0x550?
发表于 2024-12-10 16:26 | 显示全部楼层
iic地址有这么长吗
 楼主| 发表于 2024-12-12 20:49 | 显示全部楼层
24C16最大地址7FF;
21877675ada9dda6aa.png
读550时,从机ACK应答后,时钟被单片机一直拉低进入死循环;
90389675adb11e28a3.png
读622地址,从机ACK应答后,单片机可以正常发送读时钟信号,可以读取到数据。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

1118

帖子

8

粉丝
快速回复 返回顶部 返回列表