查看: 4629|回复: 6

[求助] 关于i2c从机数据接收问题

[复制链接]

该用户从未签到

3

主题

8

帖子

0

注册会员

Rank: 2

积分
118
最后登录
2020-10-16
发表于 2020-8-25 14:44:07 | 显示全部楼层 |阅读模式
微信图片_20200825144043.png
    i2c从机接收主机发来数据老是重复问题,例如:主机发送 0xAA  0x30  0x20  ,从机接收到数据有很多重复, 0xAA 0xAA 0xAA 0xAA 0x30 0x30 0x30 0x20  0x20  ;这是什么原因造成的,有没有大神帮忙看下?
我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25481
最后登录
2025-9-9
发表于 2020-8-25 16:28:01 | 显示全部楼层
这个问题很好检查,用逻辑分析仪抓一下波形,可以判断出是哪里出了问题。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

8

帖子

0

注册会员

Rank: 2

积分
118
最后登录
2020-10-16
 楼主| 发表于 2020-8-25 16:32:20 | 显示全部楼层
小恩GG 发表于 2020-8-25 16:28
这个问题很好检查,用逻辑分析仪抓一下波形,可以判断出是哪里出了问题。 ...

波形抓是正常的啊,软件处理接收出现的这个问题,I2C0->D接收模式下读取有什么条件,一直出现重复接收问题,中断处理是按照手册上流程的。
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25481
最后登录
2025-9-9
发表于 2020-8-25 17:45:23 | 显示全部楼层
csz110 发表于 2020-8-25 16:32
波形抓是正常的啊,软件处理接收出现的这个问题,I2C0->D接收模式下读取有什么条件,一直出现重复接收问 ...

那这个就是接收时候处理数据的问题了,你有debug过吗,在i2c接收完数数据的地方打断点,定位到错误的地方发生在哪里
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

8

帖子

0

注册会员

Rank: 2

积分
118
最后登录
2020-10-16
 楼主| 发表于 2020-8-25 19:06:59 | 显示全部楼层
小恩GG 发表于 2020-8-25 17:45
那这个就是接收时候处理数据的问题了,你有debug过吗,在i2c接收完数数据的地方打断点,定位到错误的地方 ...

  有debug,在信号停止里断点,接收的数据很多重复,不知道是不是哪个寄存器位没有清,导致进中断重复读取。版主有没有完整I2C从机寄存器中断接收例程,发一下参考。
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25481
最后登录
2025-9-9
发表于 2020-8-26 10:34:17 | 显示全部楼层
寄存器版本的吗,你是哪个芯片
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

8

帖子

0

注册会员

Rank: 2

积分
118
最后登录
2020-10-16
 楼主| 发表于 2020-8-26 10:40:00 | 显示全部楼层
小恩GG 发表于 2020-8-26 10:34
寄存器版本的吗,你是哪个芯片

KL03的,是不是主机与从机两个速率不同步会影响从机I2C中断读取数据 ?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-10 02:17 , Processed in 0.102160 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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