I2C通信问题

[复制链接]
2613|6
 楼主| dfsa 发表于 2013-3-23 19:58 | 显示全部楼层 |阅读模式
问一个问题,C8051F做IIC时,用P0.4,P0.5做SCL,SDA时,上拉电阻4.7K,上拉电源3.3V,调试时发现从机不能把SDA拉低,只能拉到1.6V左右。。这个IO怎么配?
我现在是   P0MDOUT=0xFF; P0=0x11;
火箭球迷 发表于 2013-3-23 20:10 | 显示全部楼层
通常要置成开漏方式
yybj 发表于 2013-3-23 20:25 | 显示全部楼层
P0MDOUT=0x00; P0=0x11;
要设置成漏极开路


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

漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。
hsbjb 发表于 2013-3-23 20:41 | 显示全部楼层
yybj 发表于 2013-3-23 20:25
P0MDOUT=0x00; P0=0x11;
要设置成漏极开路

分析的很全面
angerbird 发表于 2013-3-24 21:04 | 显示全部楼层
漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。
firstblood 发表于 2013-3-26 17:55 | 显示全部楼层
I2C通讯的是很简单的问题的,楼主多调试的就可以的啦
comeon201208 发表于 2013-3-27 11:33 | 显示全部楼层
楼主这个检查下你的IO口配置的啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部