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

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:138
  • 最近打卡:2025-05-01 23:08:49
已绑定手机

54

主题

39

回帖

832

积分

高级会员

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



回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-04-28 12:55:00

23

主题

296

回帖

1160

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-04-30 00:26:42

0

主题

336

回帖

1490

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:394
  • 最近打卡:2025-05-01 03:26:07

16

主题

702

回帖

2470

积分

金牌会员

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

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:34 , Processed in 0.159560 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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