打印

28335的I2C通信问题

[复制链接]
1817|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CaLipton|  楼主 | 2017-11-14 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用28335的I2C模块与eeprom  AT24C08进行通信,程序没有错误,但是用示波器不能测出SDA和SCL信号。例程里的从机地址是0x50,因为我这里用的是AT24C08,所以从机地址应该是0xA9,是不是只需要修改这个地址就可以了?

相关帖子

沙发
Rospiers| | 2017-11-14 10:36 | 只看该作者
上拉了没呢

使用特权

评论回复
板凳
Lewisnx| | 2017-11-14 10:52 | 只看该作者
地址对不对跟SDA和SCL有无信号没有联系。就算地址错了,SDA和SCL也会有相应的信号

使用特权

评论回复
地板
CCompton| | 2017-11-14 11:04 | 只看该作者
地址的设置与A2脚的电平有关,仔细阅读AT24C08手册。

使用特权

评论回复
5
Richardd| | 2017-11-14 11:17 | 只看该作者
如果SDA和SCL没信号,首先看加了上拉没,阻值根据手册和I2C上挂的器件数量来算。然后看程序中I2C初始化,使能等等有没问题。

使用特权

评论回复
6
Mattheww| | 2017-11-14 11:28 | 只看该作者
我现在又出现了一个问题,在调试的过程中,如果没有
if (I2caRegs.I2CSTR.bit.BB == 1)
  {
      return I2C_BUS_BUSY_ERROR;
   }
这几句话,用示波器能显示我发送的数据,如果有这几句话,程序就一直认为bus busy!

使用特权

评论回复
7
Erichk| | 2017-11-14 16:54 | 只看该作者
建议看看程序里“I2caRegs.I2CSTR.bit.BB ”的定义,结合I2C协议看看相关判断的时序与逻辑机制。

使用特权

评论回复
8
Thorald| | 2017-11-14 17:20 | 只看该作者
用示波器捕捉I2C数据,记录每一位的值,填满相应的I2C帧,分析发送的数据是否有误。

使用特权

评论回复
9
Bjorn| | 2017-11-14 17:40 | 只看该作者
地址有问题。

使用特权

评论回复
10
Rollo| | 2017-11-14 17:50 | 只看该作者
28335的读写位是省略的,也就是说地址不是A9,而是去掉最低位,最高位补零,地址等于0x01010100 = 0x54

使用特权

评论回复
11
smilingangel| | 2017-11-15 19:37 | 只看该作者
I2C数据通讯的地址的问题的不复杂的

使用特权

评论回复
12
smilingangel| | 2017-11-15 19:39 | 只看该作者
根据资料进行设计的,实际的地址还有一个移位操作的,具体是跟I2C总线协议相关系的,记得不是很清了

使用特权

评论回复
13
qiufengsd| | 2017-11-15 22:44 | 只看该作者
是电压没有吗?

使用特权

评论回复
14
wengh2016| | 2017-11-15 22:44 | 只看该作者
Io的配置是否正常?

使用特权

评论回复
15
minzisc| | 2017-11-15 22:45 | 只看该作者
添加一个上拉电阻试试。

使用特权

评论回复
16
qiufengsd| | 2017-11-15 22:45 | 只看该作者
可能IO的驱动能力不足。

使用特权

评论回复
17
wengh2016| | 2017-11-15 22:45 | 只看该作者
输出信号的时候是否有波动?

使用特权

评论回复
18
minzisc| | 2017-11-15 22:45 | 只看该作者
可能iic的不能被驱动。

使用特权

评论回复
19
娄敬轩| | 2019-12-17 23:19 | 只看该作者
楼主,我最近也在调试I2C通信,28335和EEPROM之间,Ti官方历程捎进去正常使用,整合到我的工程里却没有检测到SDA线上的信号,能否借鉴一下你的程序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

126

主题

369

帖子

0

粉丝