This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2541:与 ads7828的 I2C 接口存在问题

Guru**** 2587365 points
Other Parts Discussed in Thread: CC2541, ADS7828

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/754079/cc2541-problem-with-i2c-interfacing-with-ads7828

器件型号:CC2541
主题中讨论的其他器件: ADS7828

你(们)好

我尝试使用 i2c 接口将 cc2541与 ads7828连接、并使用 BLE 在移动设备上接收数据。
但是、我接收到的是0x00或0xFF 恒定数据。

以下是 ME 使用的代码:

--------------------------------------------------------------------

void i2c_start()

I2CCFG &=~I2C_SI;
I2CCFG |=I2C_STA;
while (((I2CCFG&I2C_SI)=0);
I2CCFG &=~I2C_STA;

void i2c_stop ()

I2CCFG &=I2C_STO;
I2CCFG |=~I2C_SI;
while (((I2CCFG&I2C_STO)!=0);

void i2c_send (unsigned int x)

I2cData = x;
I2CCFG &=~I2C_SI;
while (((I2CCFG & I2C_SI)=0);

unsigned int i2c_read ()

I2CCFG &=~I2C_SI;
while (((I2CCFG & I2C_SI)=0);
返回 I2cData;

void i2c_init()

//I2CCFG=0x45;
I2CWC = 0x00;
I2CCFG |=(I2C_ENS1 | I2C_AA);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

静态空 performPeriodicTask( void )

uint8计数;
uint8 addr = 0x49;
uint8命令= 0x84;

I2C_init();
I2C_start();

IF (I2CSTAT = 0x08)


I2C_SEND (addr);

I2C_SEND (命令);

count = i2c_read();

I2C_STOP();

SimpleProfile_SetParameter (SIMPLEPROFILE_CHAR4、sizeof (uint8)、&count);

----------------------------------------------------------------------

请帮我解决。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhishek、

    您是否曾尝试使用示波器或逻辑分析仪观察实际的 I2C 线路、以了解您在传输预期的内容? I2C 线路上是否有上拉电阻器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhishek、

    您对此主题是否有任何更新?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SCL

    SDA

    您好、M-W、

    是的、我们在 SCL 和 sda 线路上有4.7K 的上拉电阻器。

    请在示波器上找到 i2c 引脚的快照。

    仍然无法调试问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这些图片不显示我可以看到的任何实际 I2C 传输。 您能否尝试在一张图片中对两条线路执行快照、从而捕获来自 CC2541器件的 I2C 传输?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您对此有任何更新吗?