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.

[参考译文] CCS/MSP430F67791A:具有 EEPROM 的 I2C 接口问题

Guru**** 2526700 points
Other Parts Discussed in Thread: MSP430F67791A

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/749229/ccs-msp430f67791a-i2c-interface-with-eeprom-issue

器件型号:MSP430F67791A

工具/软件:Code Composer Studio

我目前正在研究 MSP430f67791A 微控制器的 I2C、并面临 EEPROM (24LC1025)连接方面的一些问题。 它未正确初始化、因此无法正常工作。 我们将在端口引脚 P2.5 (clk)和 P2.6 (data)上连接 EEPROM。 在调试过程中、我们发现它没有清除 UCBBUSY 标志。 因此它不会初始化 EEPROM。 我的发送初始化例程如下所示。 我们在以下代码中将0xC0作为预分频传递。 从器件地址为0x54。

void TI_USCI_I2C_transmitinit (unsigned char slave_address、unsigned char prescale){


P2SEL0 |= SDA_PIN | SCL_PIN;
UCB0CTLW0 |= UCSWRST;//启用软件复位

UCB0CTLW0 |= UCMST | UCMODE_3 | UCSSEL_2;// I2C 主设备,使用 SMCLK
UCB0BR0 =预分频;// fSCL = SMCLK/160 =~100kHz
UCB0BR1 = 0;
UCB0I2CSA = SLAVE_ADDRESS;//设置从器件地址
UCB0CTLW0 &=~UCSWRST;//清除软件复位,恢复操作
UCB0IE |= UCNACKIE;

UCB0IE &=~UCRXIE0;
UCB0IE |= UCTXIE0;//启用 TX 中断

unsigned char TI_USCI_I2C_NO迎宾(){

返回(UCB0STATW 和 UCBBUSY);

 我们调用上述函数、然后检查忙位。 如下面所述。

TI_USCI_I2C_transmitinit (0x54、0xc0);// 0x96 init 使用 USCI 进行传输
while (TI_USCI_I2C_NO迎宾());//等待总线空闲

 我可以获得任何支持吗?

此致、

Kalpana Nachnekar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kalpana、
    首先要检查的有几种想法:
    -您是否在 I2C 总线所需的 SDA 和 SCL 线路上放置了上拉电阻器?
    您能不能对信号进行一些探测,以查看是否有任何正在进行的通信。
    -您使用端口2的哪些引脚(默认引脚:P2.5和 P2.6)?
    -您是否使用 LCD 模块-您是否已配置此模块?

    这将有助于缩小问题的范围。

    此致、
    Stefan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Stefan、  
     
         我们在端口2  P2.5和 P2.6上的 SDA 和 SCL 线路上使用上拉电阻器(4k7)。 对于该微控制器,默认情况下,p2.5和 p2.6、I2C 和 SPI 有2个选项。 我们选择了 I2C。 此外、我们还使用 LCD 模块、并且它已正确配置。 工作正常。  
    此致、
    Kalpana Nachnekar
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kalpana、

    之前忘记了一个重要问题-您使用的是哪种封装类型、因为您可以从数据表中看到、100引脚封装的 P2.5和 P2.6引脚与 LCD 共享。 因此、对于 LCD 中的配置设置、可能已将引脚分配给 LCD。

    您能否在 SCL 和 SDA 线路上进行一些探测? 处于高电平状态的线路处于空闲模式。 在开始通信时在信号线上发送的内容。

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

    我们使用128引脚 PEU 封装。

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

    好的、我们应该看看 SDA 和 SCL 引脚-您能使用示波器或逻辑分析仪进行一些探测吗?

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

    您能否解决问题、或者您是否有有关此主题的更多问题或意见?
    如果已解决、请为解决您的问题的帖子选择"已解决"、以便关闭此主题。 如果您有其他问题、请选择"提出相关问题"或"提出新问题"。
    非常感谢!

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

    我想您可以继续使用您的应用程序、因为您不再回复、所以我将关闭此帖子。
    如果您希望获得有关此主题的进一步帮助、请随时再次发表评论、它将重新打开主题。 如果您有其他问题、请选择"提出相关问题"或"提出新问题"。

    此致、
    Stefan