硬汉嵌入式论坛

 找回密码
 立即注册
查看: 770|回复: 4
收起左侧

关于模拟IIC,求解惑

[复制链接]

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2022-3-31 10:43:50 | 显示全部楼层 |阅读模式
uint8_t i2c_CheckDevice(uint8_t _Address)
{
    uint8_t ucAck;

    if (I2C_SDA_READ() && I2C_SCL_READ())
    {
        i2c_Start();        /* 发送启动信号 */

        /* 发送设备地址+读写控制bit(0 = w, 1 = r) bit7 先传 */
        i2c_SendByte(_Address | I2C_WR);
        ucAck = i2c_WaitAck();    /* 检测设备的ACK应答 */

        i2c_Stop();            /* 发送停止信号 */

        return ucAck;
    }
    return 1;    /* I2C总线异常 */
}

为什么SDA和SCL输入都一定是高电平?我看IO口初始化的时候也没上拉呀


回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-3-31 12:51:21 | 显示全部楼层
安富莱的板子I2C口接了外部上拉吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107240
QQ
发表于 2022-3-31 14:35:36 | 显示全部楼层

image.png
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-3-31 14:59:46 | 显示全部楼层
多谢版主的解答
回复

使用道具 举报

11

主题

53

回帖

86

积分

初级会员

积分
86
发表于 2022-3-31 22:35:45 | 显示全部楼层
I2C一定记的加外部上拉,io口配置成开漏输出
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-22 18:23 , Processed in 0.163823 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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