主题中讨论的其他器件: TRF7970A
大家好、
这是 Anil、我已将 MSp430FR5969连接到 TRF7970以读取和写入 NFC 标签。 所有东西都可以正常工作、但这里的示例编码就像每个周期都需要打开/关闭 TRF 模块一样。 但是、现在我已经根据我的要求更改了它。 因此、现在我不是始终打开/关闭 TRF 模块、而是在需要时、我只做了。
那么、这里我的问题是、我正在做的是正确的、还是每次需要打开/关闭 TRF 模块?
谢谢、
Anil D.
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.
大家好、
这是 Anil、我已将 MSp430FR5969连接到 TRF7970以读取和写入 NFC 标签。 所有东西都可以正常工作、但这里的示例编码就像每个周期都需要打开/关闭 TRF 模块一样。 但是、现在我已经根据我的要求更改了它。 因此、现在我不是始终打开/关闭 TRF 模块、而是在需要时、我只做了。
那么、这里我的问题是、我正在做的是正确的、还是每次需要打开/关闭 TRF 模块?
谢谢、
Anil D.
您好、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.
e2e.ti.com/.../trf7970.ce2e.ti.com/.../iso14443a.cHelloWinter Yu、
它在 TRF7970ISR 代码中发生、然后当发生冲突错误时、只有此 coll_poss 会被更改。
您能告诉我一些关于碰撞的信息吗、
根据我的说法、碰撞意味着如果天线前面有2个或更多标签、则会发生碰撞。
但您知道,在编码时,它会照顾到 Anticollion。 所以、我仍然有问题。
我将在遇到问题的地方共享我的文件。 请仔细阅读。
在 ISO144430a 代码中、您将获得我的停留位置、在 trf7970中、您将获得 coll_poss 值更改的位置。
谢谢
Anil D.