找回密码
 立即注册
楼主: czdspeed

初始化了P5.0端口后, I2C总线进不了中断了,请问一下有什么原因会导致这个问题

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2024-05-13 10:00:16

7

主题

16

回帖

161

积分

注册会员

积分
161
发表于 2024-3-8 10:11:38 | 显示全部楼层
乘风*** 发表于 2024-3-7 16:55
1. I2C从机模式没必要设置SPEED参数

我早上有参考昨天发的程序稍微整理了一下,用逻辑分析仪看可以接到addr和data了。但是中断里面I2CRXD这个获取data的地方进不了。
我查了逻辑分析仪,ACK这里是低电平,stop也接到了。这里不知道为啥没有进去

   if (I2CSLST & 0x40)
    {
        I2CSLST &= ~0x40;                       //´¦ÀíSTARTʼþ

    }
    else if (I2CSLST & 0x20)
    {
        I2CSLST &= ~0x20;                       //´¦ÀíRECVʼþ
        if (isda)
        {
            isda = 0;                           //´¦ÀíRECVʼþ£¨RECV DEVICE ADDR£©
        }
        else if (isma)
        {
            isma = 0;                           //´¦ÀíRECVʼþ£¨RECV MEMORY ADDR£©
            addr = I2CRXD;
            I2CTXD = buffer[addr];

        }
        else
        {
//这里获取data的地方不能进
                               
            buffer[addr++] = I2CRXD;            //´¦ÀíRECVʼþ£¨RECV DATA£©
                                        //ÏȰÑbuf½ÓÊÕÂú
                                                                       
               
                                                remote_an_time[remote_an_time_cnt] = I2CRXD;
                                                       
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2024-05-13 10:00:16

7

主题

16

回帖

161

积分

注册会员

积分
161
发表于 2024-3-8 10:12:11 | 显示全部楼层
我从逻辑分析仪里面看接收的逻辑没问题
截图202403081011519068.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-3-8 10:59:30 | 显示全部楼层
czds*** 发表于 2024-3-8 10:11
我早上有参考昨天发的程序稍微整理了一下,用逻辑分析仪看可以接到addr和data了。但是中断里面I2CRXD这个 ...

在获取data的地方加个IO口翻转,烧录到芯片里面,用示波器/逻辑分析仪测量脚位电平判断是不是真的没进去。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:20
  • 最近打卡:2024-05-13 10:00:16

7

主题

16

回帖

161

积分

注册会员

积分
161
发表于 2024-3-8 15:10:36 | 显示全部楼层
乘风*** 发表于 2024-3-8 10:59
在获取data的地方加个IO口翻转,烧录到芯片里面,用示波器/逻辑分析仪测量脚位电平判断是不是真的没进去 ...

有反转,我这里看了一下可能是我那串口仿真器的速度不够没有跟踪到。通过IO方式验证了,buf已经接到了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-12-12 14:32:01
已绑定手机

0

主题

1

回帖

14

积分

新手上路

积分
14
发表于 2025-1-23 22:00:05 | 显示全部楼层
我也发现只要加上代码I2CCFG = 0x80,后续再操作P5.4 P5.5就无效了,始终输出为高电平,去掉后,P5.4 P5.5的输出立即生效,原因不明
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:31 , Processed in 0.163299 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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