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.

[参考译文] TRF7970A:不响应某些命令

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/699564/trf7970a-not-responding-to-certain-commands

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

大家好

我使用的是通过 SPI 连接到 MSP430F47187的 TRF7970A

大部分操作正常。

我的问题是 TRF7970A 不响应某些命令。

是否有可读取的错误代码和/或响应列表(特定命令的实际十六进制代码)、

我找不到。

我在使用我的源代码和 TI 示例代码时遇到了相同的问题。

感谢你的帮助

Nick

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

    哪种类型的命令会出现此问题? SPI 命令? 还是射频命令? 如果是射频命令、您使用的是什么模式?

    您还看到了哪个示例代码的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Ralph
    下面是一个有问题的示例代码。

    uint16_t NDEF_readBinary (uint16_t ui16FileOffset、uint8_t ui8ReadLength)

    uint8_t ui8Offset = 0;
    uint16_t ui16NLEN = 0;

    #ifdef enable_host
    volatile int x、n;
    #endif

    G_pui8TrfBuffer[ui8Offset++]= 0x8F;//复位 FIFO
    G_pui8TrfBuffer[ui8Offset++]= 0x91;//使用 CRC 发送
    G_pui8TrfBuffer[ui8Offset++]= 0x3D;//连续写入
    G_pui8TrfBuffer[ui8Offset++]= 0x00;//数据包长度(以字节为单位)-发送字节长度的上半字节和中半字节
    G_pui8TrfBuffer[ui8Offset++]= 0x60;//数据包长度(以字节为单位)-发送字节长度的较低半字节和不完整半字节
    G_pui8TrfBuffer[ui8Offset++]= 0x02 | g_BClockNumberBit;// I 块 PCB:读取块0或块1、CID = 0、NAD = 0、无链
    G_pui8TrfBuffer[ui8Offset++]= 0x00;// CLA
    G_pui8TrfBuffer[ui8Offset++]= 0xB0;// INS =读取二进制文件
    G_pui8TrfBuffer[ui8Offset++]=((ui16FileOffset >> 8)& 0xFF);//文件偏移、从何处开始读取数据
    G_pui8TrfBuffer[ui8Offset++]=(ui16FileOffset 和0x00FF);//文件偏移、从何处开始读取数据
    G_pui8TrfBuffer[ui8Offset++]= ui8ReadLength;

    G_bBlockNumberBit = 1;
    t ui16FileOffset = 0;
    t ui8ReadLength = 2;

    我确实只接收 TX 中断。
    尝试更改计时、没有差异。

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

    谢谢、这让我们非常清楚!

    SLOC297中用于 NDEF 读取的示例代码非常基本。 与我们的完整 NFC 堆栈不同、它不包括对 NDEF 消息读取的完全支持。 对于 SLOC297、许多 NDEF 变量都经过硬编码、因此您需要执行以下操作之一:

    1) 1)使用 SLOA227 NFC 读/写器代码、提供全面的 NDEF 支持
    2) 2)修改 NDEF 层以调整正确的 NDEF 处理

    我建议采取步骤1、因为 SLOA227经过 NFC 论坛 NDEF 标准测试、从设计上看、SLOC297从未符合 NFC 标准。 但是、如果您更喜欢执行步骤2、则需要从 NFC 论坛获取官方 NFC 论坛规范以继续操作、或使用 SLOA227作为实施的基准。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我应该已经将此内容添加到我的帖子中、您可以在这里看到我们针对 NFC 读/写器的全面应用手册、其中包括完整 SLOA227 NFC 堆栈的下载链接: www.ti.com/.../sloa227
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nick、

    您能否澄清我可以就此问题提供的进一步解释?