28335的I2C通信问题

[复制链接]
6525|16
 楼主| dwananqinyan 发表于 2012-11-27 16:15 | 显示全部楼层 |阅读模式
各位大侠,我现在用28335的I2C模块与EEPROM  AT24C08进行通信,程序没有错误,但是用示波器不能测出SDA和SCL信号。例程里的从机地址是0x50,因为我这里用的是AT24C08,所以从机地址应该是0xA9,是不是只需要修改这个地址就可以了?希望各位大侠帮帮忙啦!谢谢了!
 楼主| dwananqinyan 发表于 2012-11-27 16:16 | 显示全部楼层
希望各位大侠帮帮忙啦
dousfoulexd 发表于 2012-11-27 16:37 | 显示全部楼层
地址对不对跟SDA和SCL有无信号没有联系。就算地址错了,SDA和SCL也会有相应的信号。地址的设置仔细阅读AT24C08手册,与A2脚的电平有关。
如果SDA和SCL没信号,首先看加了上拉没,阻值根据手册和I2C上挂的器件数量来算。然后看程序中I2C初始化,使能等等有没问题。
zhaolei0329 发表于 2012-12-25 19:08 | 显示全部楼层
请问楼主解决问题没有?能否留下联系方式交流
wudayongnb 发表于 2012-12-26 09:23 | 显示全部楼层
楼主可否把读写函数贴出来,我最近也在搞I2C,也是不成功,希望互相交流一下
winboystar 发表于 2012-12-26 10:56 | 显示全部楼层
希望大家多交流心得
jiajia31415 发表于 2013-2-21 14:50 | 显示全部楼层
我也遇到问题啊  有高手解决了吗
他的FIFO接收 发送中断有问题  
我放弃使用FIFO发送中断 接收的时候FIFO只能进一次中断 以后就不能进去了
怎么解决啊
五谷道场 发表于 2013-2-21 17:42 | 显示全部楼层
没有信号,估计I2C控制器没有使能吧
cuilikun 发表于 2013-3-1 15:13 | 显示全部楼层
我也遇到相同问题,时钟和数据都量不到,不知楼主解决了吗
hawksabre 发表于 2013-3-1 21:09 | 显示全部楼层
I2C总线   一定要按照协议走   必须要熟悉协议   这样通信才不会出太大的问题
newdavid 发表于 2013-10-1 14:20 | 显示全部楼层
我也在用I2C不过不知道那个发送函数为什么把模式设置放在最后,求指导。
njnh 发表于 2013-12-20 19:59 | 显示全部楼层
准备学习
ltbytyn 发表于 2013-12-21 16:06 | 显示全部楼层
1、AT24C08的器件地址0xA0(A2\A1\A0均接0),你的器件地址是0xA9,那么你的A2接VCC,A1\A0接0.
2、楼主明显属于瞎蒙的那种,肯定没有看过i2c模块资料。28335 I2c模块器件地址设置只有7位和10位两种。在这里明显只能选7位(例程里面默认7位)。7位器件地址是不包含读写位的。即0xA0(或者0xA9)设置器件地址时应该为0x50(或者0x54)。
3、例程中用的是fifo中断方式。注意深度fifo深度设置。即设置发送数据长度大于fifo深度时,你不要指望i2C模块给你干活。28027中的fifo深度是4(高、低地址占2个字节,最多只能发2个数据)。28335深度我不知道,自己查资料。
TLZme 发表于 2013-12-23 08:56 | 显示全部楼层
操作命令和寄存器地址也要修改
huangfeng33 发表于 2013-12-24 09:56 | 显示全部楼层
28335的读写位是省略的,也就是说地址不是A9,而是去掉最低位,最高位补零,地址等于0x01010100 = 0x54
tirako 发表于 2014-4-30 11:50 | 显示全部楼层
本帖最后由 tirako 于 2014-4-30 11:54 编辑

28335,把I2CSAR的设置地址位,采用了bit6-bit0。
所以如24C64地址,就不是A0,而是50。
394751308 发表于 2014-4-30 16:27 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

156

帖子

0

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