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

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

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:310
  • 最近打卡:2025-12-19 09:50:47
已绑定手机

70

主题

54

回帖

175

积分

注册会员

积分
175
发表于 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
  • 打卡总天数:507
  • 最近打卡:2025-12-18 08:09:57

23

主题

291

回帖

1855

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:562
  • 最近打卡:2025-12-19 00:02:58

0

主题

333

回帖

733

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:622
  • 最近打卡:2025-12-19 06:15:51
已绑定手机

17

主题

770

回帖

2544

积分

金牌会员

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

就是释放总线的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:269
  • 最近打卡:2025-12-19 09:32:23

814

主题

1万

回帖

2万

积分

管理员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-20 01:13 , Processed in 0.119378 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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