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.

[参考译文] MSP430FR5969:用于与 NFC 读取开/关相关的 TRF7970 IC

Guru**** 2557740 points
Other Parts Discussed in Thread: MSP430FR5969, TRF7970A

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/734861/msp430fr5969-trf7970-ic-for-nfc-reading-on-off-related

器件型号:MSP430FR5969
主题中讨论的其他器件: TRF7970A

大家好、

这是 Anil、我已将 MSp430FR5969连接到 TRF7970以读取和写入 NFC 标签。 所有东西都可以正常工作、但这里的示例编码就像每个周期都需要打开/关闭 TRF 模块一样。 但是、现在我已经根据我的要求更改了它。 因此、现在我不是始终打开/关闭 TRF 模块、而是在需要时、我只做了。  

那么、这里我的问题是、我正在做的是正确的、还是每次需要打开/关闭 TRF 模块?

谢谢、

Anil D.

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

    每个周期的开/关操作都是为了在 TRF 模块不使用时节省功耗。 您可以根据自己的要求打开/关闭 TRF 模块。

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

    您好、Winter Yu、

    根据我的要求、我只开/关 TRF 模块。 它取决于中断引脚。 如果存在中断、则只需打开/关闭 TRF。

    ////////////////////////////////////////////////////////////////////////////////////////////////

         IRQ_OFF;

          disable_TRF;

          //在启用 TRF7970A 之前清除 IRQ 标志

          IRQ_CLR;

          IRQ_ON;

          ENABLE_TRF;

          //必须等待至少4.8ms 才能使 TRF7970A 初始化。

          _DELAY_CYCLES (800000);

          // Tx_Uart1_Char ('N');

          //__delay_cycles (8000);

          Iso14443aFindTag();//扫描14443A 标签

    ////////////////////////////////////////////////////////////////////////////////////////////

    这正是我执行开/关 TRF 模块的确切方式。

    另一点是、我的程序卡在某个位置。

    void Iso14443aLoop (u08_t 级联_level、u08_t NVB、u08_t * uid)

    (笑声)

    (笑声)

    (笑声)

    (笑声)

    (笑声)

        RX_ERROR_FLAG = 0;

        coll_poss = 0x21;

        RxTx_state = 1;//响应将向上存储在 buf[1]中

        Iso14443a SelectCommand (SELECT、NVB、uid);

        while (coll_poss < 0x20){

          if (i_reg =0x00)

            中断;

           TX_Uart1_String ("Stck\n");

        }

        如果(coll_poss = 0x20)

          I_reg = 0x02;//在 coll_poss=0x20的情况下意味着没有接收到响应

    …μ A

    …μ A

    …μ A

    …μ A

    我的程序卡在这里。 那么、我可以对它做什么呢?

    谢谢、

    Anil D.

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

    您是说您的代码卡在下面的句子中吗?
    TX_Uart1_String ("Stck\n");

    那么、在哪里修改了 coll_poss 和 I_reg?

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

    e2e.ti.com/.../trf7970.ce2e.ti.com/.../iso14443a.cHelloWinter Yu、

    它在 TRF7970ISR 代码中发生、然后当发生冲突错误时、只有此 coll_poss 会被更改。

    您能告诉我一些关于碰撞的信息吗、

    根据我的说法、碰撞意味着如果天线前面有2个或更多标签、则会发生碰撞。

    但您知道,在编码时,它会照顾到 Anticollion。 所以、我仍然有问题。

    我将在遇到问题的地方共享我的文件。 请仔细阅读。

    在 ISO144430a 代码中、您将获得我的停留位置、在 trf7970中、您将获得 coll_poss 值更改的位置。

    谢谢

    Anil D.