打印

28335的I2C通信问题

[复制链接]
746|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Soraka|  楼主 | 2017-2-26 16:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
Garen2| | 2017-2-26 16:13 | 只看该作者
上拉了没

使用特权

评论回复
板凳
Ryze| | 2017-2-26 16:22 | 只看该作者
地址对不对跟SDA和SCL有无信号没有联系。就算地址错了,SDA和SCL也会有相应的信号。地址的设置仔细阅读AT24C08手册,与A2脚的电平有关。

使用特权

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

使用特权

评论回复
5
Snow7| | 2017-2-26 16:42 | 只看该作者
你好!哪位有没有这样的问题问题,在调试的过程中,如果没有
if (I2caRegs.I2CSTR.bit.BB == 1)
  {
      return I2C_BUS_BUSY_ERROR;
   }
这几句话,用示波器能显示我发送的数据,如果有这几句话,程序就一直认为bus busy!

使用特权

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

使用特权

评论回复
7
拉克丝| | 2017-2-26 17:08 | 只看该作者
用示波器捕捉I2C数据,记录每一位的值,填满相应的I2C帧,分析发送的数据是否有误

使用特权

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

使用特权

评论回复
9
迪卡| | 2017-2-26 17:47 | 只看该作者
地址不能应该是0x54

使用特权

评论回复
10
zhangmangui| | 2017-2-26 21:11 | 只看该作者
学习啦

使用特权

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

本版积分规则

178

主题

865

帖子

5

粉丝