找回密码
 立即注册
查看: 94|回复: 4

求大神讲解一个手写IIC的问题

[复制链接]
  • TA的每日心情
    开心
    昨天 08:59
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    11

    主题

    12

    回帖

    149

    积分

    注册会员

    积分
    149
    发表于 2024-4-2 12:16:03 | 显示全部楼层 |阅读模式
    unsigned        char        ee_read_byte( )
    {
        u8 i,dat;
        i = 8;
                    ee_sda = 1;        //这一句最关键 ***********
                    while(i > 0)
        {
            ee_scl = 1;
            ee_delay();
            dat = dat << 1;
            if(ee_sda==1)     dat= dat + 1 ;
            ee_scl  = 0;
            ee_delay();
                            i = i -1 ;
                                                    }
      return(dat);
                                    }


    以上程序注释为最关键一句,没有任何实质意义。但是如果不存在,在STC单片机上读EEPROM就只能连续读一个BYTE正确,其余都是0. 在别的单片机上不存在这个问题!求大神解答原因 !谢谢!



    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 71 天

    [LV.6]常住居民II

    6

    主题

    142

    回帖

    375

    积分

    中级会员

    积分
    375
    发表于 2024-4-2 13:22:12 | 显示全部楼层
    这个应该是释放总线
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    0

    主题

    212

    回帖

    478

    积分

    中级会员

    积分
    478
    发表于 2024-4-2 16:22:29 | 显示全部楼层
    楼上说的应该是对的,sda总线一直拉低的话,iic控制器会认为总线忙,不会进行下一步工作
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情

    12 小时前
  • 签到天数: 80 天

    [LV.6]常住居民II

    4

    主题

    492

    回帖

    1331

    积分

    金牌会员

    积分
    1331
    发表于 2024-4-3 07:49:15 | 显示全部楼层
    xxxevery 发表于 2024-4-2 16:22
    楼上说的应该是对的,sda总线一直拉低的话,iic控制器会认为总线忙,不会进行下一步工作 ...

    就是释放总线的
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9496

    回帖

    1万

    积分

    管理员

    积分
    14067
    发表于 2024-4-3 08:19:38 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 20:16 , Processed in 0.060736 second(s), 47 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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