[51单片机] 关于C8051F330的I2C通讯问题

[复制链接]
 楼主| wei9098 发表于 2013-9-26 09:57 | 显示全部楼层 |阅读模式
不用C8051F330的SMBus,只是用P0^0,和P0^1口用作模拟I2C总线进行通讯可以吗?
nino_1 发表于 2013-9-26 10:04 | 显示全部楼层
可以
ningling_21 发表于 2013-9-26 10:13 | 显示全部楼层
为什么不可以呢
 楼主| wei9098 发表于 2013-9-26 17:11 | 显示全部楼层
nino_1 发表于 2013-9-26 10:04
可以

我的通讯程序没有错误,可是就是实现不了效果,能不能帮我写一段C8051F330的初始化程序?只需要将P0^0作为SDA,和P0^1口用作SCL,模拟I2C总线进行通讯,非常感谢!
 楼主| wei9098 发表于 2013-9-26 17:12 | 显示全部楼层
ningling_21 发表于 2013-9-26 10:13
为什么不可以呢

我的通讯程序没有错误,可是就是实现不了效果,能不能帮我写一段C8051F330的初始化程序?只需要将P0^0作为SDA,和P0^1口用作SCL,模拟I2C总线进行通讯,非常感谢!
泽子豆腐 发表于 2013-9-27 08:36 | 显示全部楼层
用示波器看看时序吧,按iic的协议来,没问题的。
ningling_21 发表于 2013-9-27 08:48 | 显示全部楼层
wei9098 发表于 2013-9-26 17:12
我的通讯程序没有错误,可是就是实现不了效果,能不能帮我写一段C8051F330的初始化程序?只需要将P0^0作 ...

P0MDOUT|=0X01;  //P0.1推挽输出,P0.0开漏输出
zd420325 发表于 2013-9-27 08:58 | 显示全部楼层
wei9098 发表于 2013-9-26 17:11
我的通讯程序没有错误,可是就是实现不了效果,能不能帮我写一段C8051F330的初始化程序?只需要将P0^0作 ...

F330的初始化程序请使用程序配置向导生成,方便快捷直接调用。
SMBUS是兼容I2C的,请参考silicon labs IDE根目录下面的参考例程。
详情之咨询您的代理商
q3742829 发表于 2013-9-27 11:21 | 显示全部楼层
过来学习一下
逛逛看看学学 发表于 2016-3-10 15:11 | 显示全部楼层
ningling_21 发表于 2013-9-27 08:48
P0MDOUT|=0X01;  //P0.1推挽输出,P0.0开漏输出

P0^0作为SDA,和P0^1口用作SCL  
P0MDOUT|=0X01;  //P0.1推挽输出,P0.0开漏输出   这样配置么?
ningling_21 发表于 2016-3-10 15:33 | 显示全部楼层
逛逛看看学学 发表于 2016-3-10 15:11
P0^0作为SDA,和P0^1口用作SCL  
P0MDOUT|=0X01;  //P0.1推挽输出,P0.0开漏输出   这样配置么? ...

可以
逛逛看看学学 发表于 2016-3-10 15:36 | 显示全部楼层

P0MDOUT|=0X00;     那这样配置呢
我现在两种配置方法都没有数据
ningling_21 发表于 2016-3-10 15:38 | 显示全部楼层
逛逛看看学学 发表于 2016-3-10 15:36
P0MDOUT|=0X00;     那这样配置呢
我现在两种配置方法都没有数据

用头一种配置,没数据不是配置的问题,可能是时序不对
逛逛看看学学 发表于 2016-3-10 15:48 | 显示全部楼层
ningling_21 发表于 2016-3-10 15:38
用头一种配置,没数据不是配置的问题,可能是时序不对

是读出的数据全是FF,是不是写数据有问题,时序怎么检查?

评论

读写程序可能都有问题,和标准的时序对比 就知道哪里不对  发表于 2016-3-10 16:14
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

22

帖子

0

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