找回密码
 立即注册
楼主: czds***

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

[复制链接]
  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    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;
                                                           
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    7

    主题

    16

    回帖

    161

    积分

    注册会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    7

    主题

    16

    回帖

    161

    积分

    注册会员

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-19 01:25 , Processed in 0.065457 second(s), 41 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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