OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3860|回复: 3

****模拟I2C,等待ACK问题****

[复制链接]

24

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2012-3-21
在线时间
17 小时
发表于 2015-7-22 00:22:12 | 显示全部楼层 |阅读模式
5金钱
I2C挂两个从机,OLED,IO扩展芯片PCF8574。 

调用I2C_WaitAck时,8574成功,OLED却永远读不成功,实际OLED是可以响应的,只是SDA一直没有拉低。
有试过OLED等待ACK成功的吗,请教.

/*****************************
等待ACK
0,成功
1,失败
*****************************/
u8 I2C_WaitAck(void)
{
/*******OLED调用时失败,PCF8574成功*******
    u8 ucErrTime=0;
    I2C_SDA_IN();      
    I2C_SDA_HIGH();
    Delay_us(4);   
    I2C_SCL_HIGH();
    Delay_us(4);  
    while(I2C_SDA_READ)
   {
        ucErrTime++;
        if(ucErrTime>250)
       {
             I2C_Stop();
            return 1;
        }
    }
    I2C_SCL_LOW();   
    return 0;  
*******OLED调用时失败,PCF8574成功*******/

//注释以上部分,OLED更改如下,成功,实际是没等待ACK响应(OLED供应商提供的例程实际也这么写)
    I2C_SCL_HIGH();
    I2C_SCL_LOW();
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-7-22 00:28:07 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

24

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2012-3-21
在线时间
17 小时
 楼主| 发表于 2015-7-22 00:29:11 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥也是夜猫子了
回复

使用道具 举报

37

主题

212

帖子

0

精华

高级会员

Rank: 4

积分
900
金钱
900
注册时间
2019-6-6
在线时间
100 小时
发表于 2019-8-9 16:12:16 | 显示全部楼层
帮顶     多年前的冤案要浮出水面了
不会就要俯身倾耳以请啊,博客地址:https://blog.csdn.net/qq_39521541?spm=1001.2101.3001.5343
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-5 09:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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