TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 I2C使用问题

最近在做I2C相关项目,遇到如下问题,还请高手们帮帮忙哈,非常感谢。

我的硬件环境是谷雨公司的开发板。

问题如下:

驱动hal_i2c文件中执行完I2C_WRITE(i2cAddr | RD_WRn);后,I2CDATA寄存器没有变化还是0,这之前的其他寄存器(I2CCFG,I2CSTAT)都状态正常,请问这是什么问题。

后面我直接跑TI公司的SensorTag这个demo,问题一样。

我在这儿先谢谢大家了哈。

下面是I2C_WRITE宏定义。

#define I2C_WRITE(_X_) st ( \
I2CDATA = (_X_); \
I2CCFG &= ~I2C_SI; \
while ((I2CCFG & I2C_SI) == 0); \
)

Yan:

lin,

I2C的clock有输出吗?

lin li15:

回复 Yan:

你好,非常感谢你的帮助,被这个问题困扰很久了,我的qq:312038441,可以的话加q详聊嘛,谢谢。

     由于目前我们的工具还没采购回来,所以无法实际测量。

   运行到I2CDATA赋值前的相关寄存器值如下,可以参考:

       SLEEPSTA = 0x4C

       SLEEPCMD = 0x04

       CLKCONSTA = 0x00

       CLKCONCMD = 0x00

       PCON = 0x00

       CLD = 0x00

  我也一直怀疑是时钟、睡眠、电源模式引起的,

被这个问题困扰好久了,项目进度都一拖再拖了,求大神指点,感激不尽

   

lin li15:

回复 Yan:

 我是没有连任何外部设备,直接将两个开发板连在I2C总线上,一个收一个发。

 刚开始自己结合你们的驱动写程序,调试主片的时候发现I2CDATA赋值有问题。

之后拿SensorTag这个程序来试(没接任何外围设备,直接调试),问题也是出在I2CDATA这个地方。

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 I2C使用问题
分享到: 更多 (0)