C8051F做IIC通信问题

时间:2022-02-05 19:21:39
问一个问题,C8051F做IIC时,用P0.4,P0.5做SCL,SDA时,上拉电阻4.7K,上拉电源3.3V,调试时发现从机不能把SDA拉低,只能拉到1.6V左右。。这个IO怎么配?
我现在是   P0MDOUT=0xFF; P0=0x11;

求教啊

4 个解决方案

#1


P0MDOUT=0x00; P0=0x11;
要设置成漏极开路


漏极开路,open-drain,需要外加电阻上拉到电源。

漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。

#2


通常要置成开漏方式

#3


对额!楼上的0x00是对的 !

#4


只修改SDA的管教就可以的
P0MOUT=0xDF

#1


P0MDOUT=0x00; P0=0x11;
要设置成漏极开路


漏极开路,open-drain,需要外加电阻上拉到电源。

漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。

#2


通常要置成开漏方式

#3


对额!楼上的0x00是对的 !

#4


只修改SDA的管教就可以的
P0MOUT=0xDF