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.

[参考译文] MSP430F5328:查询 UCBxIFG 寄存器中的 UCNACKIFG 位(I2C 访问)

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1057437/msp430f5328-inquiry-about-ucnackifg-bit-in-ucbxifg-register-i2c-access

器件型号:MSP430F5328

有关 UCBxIFG 寄存器(I2C)中 UCNACKIFG 位的查询

各位专家:

我们的客户正在使用 MSP430F5328IRGCR (Sub-MCU)开发其系统。 客户使用 MSP430F5328作为 I2C 主设备。 根据 MSP430x5xx 用户指南(https://www.ti.com/lit/pdf/slau208 )“38.3.7.3 I2C 状态更改中断操作”,下面的描述是“UCNACKIFG 在收到启动条件时自动清零,如下所示。 当 MSP430被用作 I2C 主器件时、客户正在考虑一个启动条件将不会被接收、除非它是由自己发送的。

  1. 这意味着、当 MSP430 (I2C 主器件)发送一个启动条件时、这个标志是否会被自动清零?
  2. 如果不是这样,客户是否需要向  UCNACKIFG 写入“0”来清除此位?

 

请问您的专家对此次调查有何建议/意见?

此致、

宫崎

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

     你好,宫崎

    它似乎只能通过开始条件捕获在从模式下清除。  

    如果您没有启用 NACK 中断、这无关紧要。

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

    您好、Gary、

    感谢您的澄清。

    我认为、当客户没有根据 您的建议启用 NACK 中断时、这一点无关紧要。 但是,如果客户需要启用此中断,  客户是否需要向  UCNACKIFG 写入“0”以清除此位,该怎么办?

    如果您愿意与我们分享您的进一步建议、我将不胜感激。

    此致、

    宫崎

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

    您好、Gary、

    就我检查的用户指南(https://www.ti.com/lit/pdf/slau208 )而言,此 UCNACKIFG 标志仅在时更新

    因此,我想再次确认。

     

    如果 MSP430作为 I2C 主器件工作、我相信当 MSP430 (I2C 主器件)发送一个下一个启动条件时、这个标志会被自动清零。

    如果 MSP430作为 I2C 从器件工作、则不会更新此标志。 这意味着 、UCNACKIFG 位始终显示"0"。 我的理解是否正确?

    可以再检查一下吗?

    此致、

    宫崎

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

    您好、Gary、

    我正在读取错误的段(eUSCI_B 段)... 我很抱歉让你感到困惑。

     如果客户需要启用此中断(UCNACKIE)、  客户是否需要向  UCNACKIFG 写入"0"以清除此位?

     此致、

    宫崎

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

    您好、Gary、

    我注意到以下 E2E 主题。 此主题与 MSP430F7177相关、但对于 I2C 功能、我认为它与 MSP430F5328相同。 我的意思是,客户需要写“o”才能清除

    https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/717837/msp430f477-interrupt-service-routine-for-negative-acknowledgment-interrupt-flag-ucnackifg

    我的理解是正确的吗?

    此致、

    宫崎

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

    您好、Gary、

    可以就此向我提供建议/意见吗?

    此致、

    宫崎

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

    是的,通常情况下,最好在启用任何中断时清除标志位,最好在 ISR 中手动清除该标志位。