野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22077|回复: 5

关于模拟IIC的一些疑问

[复制链接]
发表于 2019-3-12 16:24:21 | 显示全部楼层 |阅读模式
野火的例程中模拟IIC的引脚是初始化为开漏输出模式的,当SDA脚要接收外部数据时,不应该先配置成输入模式再接收吗 为什么这里可以直接读引脚的电平 #define EEPROM_I2C_SDA_READ()  ((EEPROM_GPIO_PORT_I2C->IDR & EEPROM_I2C_SDA_PIN) != 0)        /* 读SDA口线状态 */

*********************************************************************************************************
*        函 数 名: i2c_WaitAck
*        功能说明: CPU产生一个时钟,并读取器件的ACK应答信号
*        形    参:无
*        返 回 值: 返回0表示正确应答,1表示无器件响应
*********************************************************************************************************
*/
uint8_t i2c_WaitAck(void)
{
        uint8_t re;

        EEPROM_I2C_SDA_1();        /* CPU释放SDA总线 */
        i2c_Delay();
        EEPROM_I2C_SCL_1();        /* CPU驱动SCL = 1, 此时器件会返回ACK应答 */
        i2c_Delay();
        if (EEPROM_I2C_SDA_READ())        /* CPU读取SDA口线状态 */
        {
                re = 1;
        }
        else
        {
                re = 0;
        }
        EEPROM_I2C_SCL_0();
        i2c_Delay();
        return re;
}


回复

使用道具 举报

发表于 2019-3-12 17:17:19 | 显示全部楼层
火哥视频里有说一下,配置成输出,同时也能输入
(诶,介系鬼刀吗,hhh)
回复 支持 反对

使用道具 举报

发表于 2021-8-31 11:27:08 | 显示全部楼层
可以的  读取和写入寄存器是分开的 所以不影响 ,配置成输出也能输入.
回复 支持 反对

使用道具 举报

发表于 2021-8-31 11:32:23 | 显示全部楼层
p52 六分钟左右 有讲
回复 支持 反对

使用道具 举报

发表于 2021-8-31 11:34:12 | 显示全部楼层
b站
单片机】野火STM32F103教学视频 (配套霸道/指南者/MINI)【全】(刘火良老师出品) (无字幕)
回复 支持 反对

使用道具 举报

发表于 2021-9-6 18:59:01 | 显示全部楼层
对于开漏结构来讲,释放总线就等于设置为输入了。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 18:59 , Processed in 0.034177 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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