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

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

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:258
  • 最近打卡:2025-10-15 09:17:32
已绑定手机

66

主题

52

回帖

288

积分

中级会员

积分
288
发表于 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. 在别的单片机上不存在这个问题!求大神解答原因 !谢谢!



回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:462
  • 最近打卡:2025-10-16 07:55:54

23

主题

292

回帖

1700

积分

金牌会员

积分
1700
发表于 2024-4-2 13:22:12 | 显示全部楼层
这个应该是释放总线
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:507
  • 最近打卡:2025-10-16 01:34:20

0

主题

333

回帖

504

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:560
  • 最近打卡:2025-10-16 05:35:53
已绑定手机

17

主题

768

回帖

2322

积分

金牌会员

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

就是释放总线的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2025-10-16 08:03:21

787

主题

1万

回帖

1万

积分

管理员

积分
19784
发表于 2024-4-3 08:19:38 | 显示全部楼层
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-17 01:06 , Processed in 0.111629 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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