u8 IIC_Wait_Ack(void) 中 “SDA设置为输入”后IIC_SDA 是否可以通过MCU对其进行电平改变

2019-10-16 03:13发布

 今天刚入了个逻辑分析仪,在看三轴加速度时,分析其IIC的波形,当看到u8 IIC_Wait_Ack(void) 时,发现对应的波形与程序不同,
故想问原子哥题中的问题。
带着问题,将过程简单叙述下:
逻辑分析仪中左上写了“0x3A + ACK”,其中A对应的二进制已画出,在黄线后,是进入u8 IIC_Wait_Ack(void)函数了,其中123都在SCL低电平中,45在SCL高电平中,但是2:IIC_SDA=1却没有表现出来,麻烦原子哥解释下,2对应这语句是否可以删去?







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
正点原子
2019-10-16 05:57
回复【楼主位】zhuyl456:
---------------------------------
这里IIC_SDA=1是提供上拉而已,至于能不能拉高,得看外部的设备,这里其实这一个引脚已经设置为输入模式了,所以设置为1仅仅是加多一个100K左右的上拉电阻。
程序上没必要删了这句。如果你的IIC没有外加上拉电阻,这里还可以充当这个角 {MOD}。

一周热门 更多>