找回密码
 立即注册
查看: 80|回复: 8

问一个8G1K08 I2C寄存器的问题

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-09-10 14:16:36

7

主题

7

回帖

109

积分

注册会员

积分
109
发表于 3 天前 | 显示全部楼层 |阅读模式
当我用单片机配置为从机模式时RXIF 寄存器能读的到图二波形中主机想另外一个从机读到的数据吗.
屏幕截图 2025-09-08 223920.png

图2

图2
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-09-10 08:52:01
已绑定手机

82

主题

3079

回帖

6603

积分

荣誉版主

无情的代码机器

积分
6603
发表于 3 天前 | 显示全部楼层
RXIF是中断标识,读数据用I2CRXD寄存器
截图202509082258126147.jpg

截图202509082258511474.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-09-10 14:16:36

7

主题

7

回帖

109

积分

注册会员

积分
109
发表于 3 天前 | 显示全部楼层
erci*** 发表于 2025-9-8 22:58
RXIF是中断标识,读数据用I2CRXD寄存器

对 截图搞错了 想问的I2CRXD寄存器能不能读得到图二中 其他从机发送的波形
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:554
  • 最近打卡:2025-09-10 07:00:25
已绑定手机

86

主题

6098

回帖

1万

积分

超级版主

积分
11258
发表于 前天 05:34 | 显示全部楼层
可以的,说白话就是:偷听它们俩讲话(通信)就可以了,不要插嘴(应答或拉低SDA),为了防止意外插嘴可以把嘴糊上(IO设置为高阻)
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-09-10 14:16:36

7

主题

7

回帖

109

积分

注册会员

积分
109
发表于 前天 09:30 | 显示全部楼层
Debu*** 发表于 2025-9-9 05:34
可以的,说白话就是:偷听它们俩讲话(通信)就可以了,不要插嘴(应答或拉低SDA),为了防止意外插嘴可以 ...

我按照例程修改了代码 只能读到图二波形中的地址0X97,其他DATA读不到,IO配置也是按照例程中的 准双向上拉配置

代码

代码

IO配置

IO配置

点评

检查下从机地址是否匹配,参考这个在8G1K08上测试通过的自收自发例程: [attachimg]114482[/attachimg]  详情 回复 发表于 前天 10:42
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-09-10 08:52:01
已绑定手机

82

主题

3079

回帖

6603

积分

荣誉版主

无情的代码机器

积分
6603
发表于 前天 10:42 | 显示全部楼层
寒冬*** 发表于 2025-9-9 09:30
我按照例程修改了代码 只能读到图二波形中的地址0X97,其他DATA读不到,IO配置也是按照例程中的 准双向上 ...

检查下从机地址是否匹配,参考这个在8G1K08上测试通过的自收自发例程:


27-I2C从机中断模式与IO口模拟I2C主机进行自发自收-8G.zip (80.51 KB, 下载次数: 4)

截图202509091042043126.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-09-10 14:16:36

7

主题

7

回帖

109

积分

注册会员

积分
109
发表于 昨天 14:16 | 显示全部楼层
erci*** 发表于 2025-9-9 10:42
检查下从机地址是否匹配,参考这个在8G1K08上测试通过的自收自发例程:

按照例程改完后,数据只能抓到主机写的,抓不到主机读另外应该从机的数据,具体如下面图3所示,串口能打印出主机读的“0X96,0X59,0X01”,却读不到后面0X97后面的数据

判断地址为97的打印数据,串口一次发5个数据,KO的位为0

判断地址为97的打印数据,串口一次发5个数据,KO的位为0

判断地址为96时打印的数据,能同波形对的上

判断地址为96时打印的数据,能同波形对的上

图3

图3

点评

两边都要监听的话试下这个配置,还不行的话可能只能用上面示例里IO模拟方式手动解码了: [attachimg]114553[/attachimg]  详情 回复 发表于 昨天 14:25
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-09-10 08:52:01
已绑定手机

82

主题

3079

回帖

6603

积分

荣誉版主

无情的代码机器

积分
6603
发表于 昨天 14:25 | 显示全部楼层
如果*** 发表于 2025-9-10 14:16
按照例程改完后,数据只能抓到主机写的,抓不到主机读另外应该从机的数据,具体如下面图3所示,串口能打 ...

两边都要监听的话试下这个配置,还不行的话可能只能用上面示例里IO模拟方式手动解码了:

截图202509101424594347.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-09-10 14:16:36

7

主题

7

回帖

109

积分

注册会员

积分
109
发表于 昨天 15:20 | 显示全部楼层
1:目前配置的地址0XFF就是全部接收。
2:用过模拟I2C,模拟I2C读的话,读5条数据会丢失1~2条,模拟I2C我程序判断的是用I2CSLST判断接收到启动信号后再用模拟i2c去读。
3:我这边想要监听的只有0x97 —主机读的数据,主机写的不用理会
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-9-11 04:07 , Processed in 0.122874 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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