[资料干货] I2C读取数据问题

[复制链接]
1522|16
 楼主| 三邑1 发表于 2019-10-21 19:05 | 显示全部楼层 |阅读模式
示波器测试波形如下,读取的数据一直为0xFF,求大神指点


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 三邑1 发表于 2019-10-25 21:14 | 显示全部楼层
沉底了吗
tyw 发表于 2019-10-25 21:39 | 显示全部楼层




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
叶春勇 发表于 2019-10-26 08:37 | 显示全部楼层

你这个好像是写吧从机地址=0b10100000  最后一位0,代表写,红色线表示的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
叶春勇 发表于 2019-10-26 08:49 | 显示全部楼层

1、从时序来看你是用软件i2c。
2、从机地址7+1,你这个明显是写从机。
2、时序好像全部是错的,应答都是高电平,你没有检测应答。我看了下,应答都是高电平。
3、你最后读出的0xff是个假的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
tianxj01 发表于 2019-10-26 08:52 | 显示全部楼层
叶春勇 发表于 2019-10-26 08:37
你这个好像是写吧从机地址=0b10100000  最后一位0,代表写,红色线表示的。

它下面有IIC解码,确实操作是50地址写,如果是读,这里为51。
而且是连续2次写,第一个应该是器件地址,第2个应该是内部寄存器地址。
这时候去讨论读数据貌似没意义吧?
叶春勇 发表于 2019-10-26 15:12 | 显示全部楼层
tianxj01 发表于 2019-10-26 08:52
它下面有IIC解码,确实操作是50地址写,如果是读,这里为51。
而且是连续2次写,第一个应该是器件地址, ...

以前折腾过i2c的传感器,没有这个高级的解码器,是用示波器的,痛苦。不过还好把i2c搞熟悉了。
后来买了30元的逻辑分析仪,就舒坦了。

评论

tyw
@叶春勇 :谢谢  发表于 2019-10-26 18:17
T叔,我翻到你用saelogic的逻辑分析仪帖子了。这个逻辑分析仪有个开源界面叫sigrok,功能更强大。你可以试试。  发表于 2019-10-26 16:12
tyw
淘只逻辑分析仪,开了天眼,哈哈  发表于 2019-10-26 15:58
tianxj01 发表于 2019-10-26 17:52 | 显示全部楼层
叶春勇 发表于 2019-10-26 15:12
以前折腾过i2c的传感器,没有这个高级的解码器,是用示波器的,痛苦。不过还好把i2c搞熟悉了。
后来买了3 ...

做工程的,还是示波器管用,当然最好是带逻辑解码的,用起来爽。
手头上DS1054,全解码,带深度存储,带逻辑解码,3千不到的机器,几乎打遍天下,和MOS管厂家近10W的货比抓波形吧,居然不差多少。
示波器不借助逻辑解码,能直接调试IIC,则就真的是搞熟悉了。
记得当初第一次弄IIC,就只是为了驱动ST公司的DDX芯片,初始化和音量控制等等,线路完全正常,无误,可芯片怎么都不给我发出一个哪怕咔哒声音,IIC上面只有主机的发送信号,芯片死活都是没有任何动静。为了测试到底是我IIC驱动问题,还是程序问题,专门把一个好久不用的单片机学习平台上面的IIC EEPEOM拆下来,装到DDX芯片的位置,按照芯片地址改了程序后,直接进行存储读取测试,我擦,完全正常。
没办法,在连换了几个芯片后,最后怀疑官方说明书上的芯片IIC地址有问题,反正把官方关于芯片地址的数据直接扔了,按照可能的10-16 或者16-10错误的范围,一个一个测试,最后确定真的是官方芯片说明书地址错误,就这么一个事情折腾了2天。问题解决了后,真想上ST公司去扔个砸蛋,太坑爹了。
那个时候,用的可不是现在的这一台示波器,没有逻辑分析仪只有最基本的数字存储,来回折腾IIC,板子都焊坏了一片。

评论

你这个问题,arduino有i2c的库,其中可以扫i2c地址,有ack就撤退。然后把地址扫出来。快的很。  发表于 2019-10-26 20:14
guitianxia 发表于 2019-10-26 19:33 | 显示全部楼层
这是那颗IC
 楼主| 三邑1 发表于 2019-11-3 07:02 | 显示全部楼层
 楼主| 三邑1 发表于 2019-11-3 07:03 | 显示全部楼层
谢谢各位,我找到无ACK应答的原因了,由于电源电压不足,应是5V,我用的是3.3V。
 楼主| 三邑1 发表于 2019-11-3 07:08 | 显示全部楼层
但是还有着一个问题,用5V供电和我MCU的电平存在不匹配的问题,我MCU的IO口输出是3.3V的,那除了加电平转换电路,还有其他的解决办法吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

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