2267112_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2267112_zh-CN

2267112_zh-CN

使用CLRC66303HN 在16-slots模式无法读取15693标签

我使用的SDK版本是

NxpNfcRdLib_RC663_v07.14.00_Pub.zip 

使用one slot  读取标签速度非常快,但是改成16 slots后,经常报错0x201或者0x203       


我的修改逻辑是把所有的 | 

PHPAL_SLI15693_FLAG_NBSLOTS替换为 /* | PHPAL_SLI15693_FLAG_NBSLOTS */

还有哪里漏改了吗?

具体修改如下:

 
diff --git a/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phacDiscLoop/src/Sw/phacDiscLoop_Sw_Int_V.c b/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phacDiscLoop/src/Sw/phacDiscLoop_Sw_Int_V.c
index a2b1dd9..317b4b2 100644
--- a/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phacDiscLoop/src/Sw/phacDiscLoop_Sw_Int_V.c
+++ b/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phacDiscLoop/src/Sw/phacDiscLoop_Sw_Int_V.c
@@ -47,7 +47,7 @@ phStatus_t phacDiscLoop_Sw_DetTechTypeV(
     /* Inventory request with one slot */
     status = phpalSli15693_Inventory(
             pDataParams->pPalSli15693DataParams,
-            pDataParams->sTypeVTargetInfo.bFlag | PHPAL_SLI15693_FLAG_NBSLOTS | PHPAL_SLI15693_FLAG_INVENTORY,
+            pDataParams->sTypeVTargetInfo.bFlag /*| PHPAL_SLI15693_FLAG_NBSLOTS*/ | PHPAL_SLI15693_FLAG_INVENTORY,
             0,
             NULL,
             0,
@@ -106,7 +106,7 @@ phStatus_t phacDiscLoop_Sw_Int_CollisionResolutionV(
     /* Symbol 0 */
     status = phpalSli15693_Inventory(
             pDataParams->pPalSli15693DataParams,
-            pDataParams->sTypeVTargetInfo.bFlag | PHPAL_SLI15693_FLAG_NBSLOTS | PHPAL_SLI15693_FLAG_INVENTORY,
+            pDataParams->sTypeVTargetInfo.bFlag /*| PHPAL_SLI15693_FLAG_NBSLOTS*/ | PHPAL_SLI15693_FLAG_INVENTORY,
             0,
             aMaskBuffer,
             bMaskBitLength,
diff --git a/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phpalSli15693/src/Sw/phpalSli15693_Sw.c b/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phpalSli15693/src/Sw/phpalSli15693_Sw.c
index a99ad24..d507f8e 100644
--- a/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phpalSli15693/src/Sw/phpalSli15693_Sw.c
+++ b/Middlewares/Third_Party/nxp/NxpNfcRdLib/comps/phpalSli15693/src/Sw/phpalSli15693_Sw.c
@@ -1839,7 +1839,7 @@ phStatus_t phpalSli15693_Sw_InventoryExt(
         /* Clear INVENTORY, AFI and NBSLOTS flag */
         if((status & PH_ERR_MASK) != PH_ERR_SUCCESS)
         {
-            pDataParams->bFlags &= (uint8_t)~(uint8_t)(PHPAL_SLI15693_FLAG_INVENTORY | PHPAL_SLI15693_FLAG_AFI | PHPAL_SLI15693_FLAG_NBSLOTS);
+            pDataParams->bFlags &= (uint8_t)~(uint8_t)(PHPAL_SLI15693_FLAG_INVENTORY | PHPAL_SLI15693_FLAG_AFI /*| PHPAL_SLI15693_FLAG_NBSLOTS*/);
         }
 
         /* Verify the exchange status. */
@@ -1967,7 +1967,7 @@ phStatus_t phpalSli15693_Sw_InventoryExt(
     }while(bAllBlocksRead == 0U);
 
     /* Clear INVENTORY, AFI and NBSLOTS flag */
-    pDataParams->bFlags &= (uint8_t)~(uint8_t)(PHPAL_SLI15693_FLAG_INVENTORY | PHPAL_SLI15693_FLAG_AFI | PHPAL_SLI15693_FLAG_NBSLOTS);
+    pDataParams->bFlags &= (uint8_t)~(uint8_t)(PHPAL_SLI15693_FLAG_INVENTORY | PHPAL_SLI15693_FLAG_AFI /*| PHPAL_SLI15693_FLAG_NBSLOTS*/);
 
     pDataParams->bExplicitlyAddressed = 0;
Re: 使用CLRC66303HN 在16-slots模式无法读取15693标签

你好@a751116023

请尝试以下步骤:

1.初始化阅读器。

将协议设置为 ISO15693。

启用避免碰撞功能。

选择时间段 = 16(用于多标记方案)。

2。启动存货命令。

读取器发送存货命令,标签随机选择一个时段进行响应。

读者收集回复:

如果一个时隙内只有一个标签 → 获取 UID。

如果碰撞发生在一个时隙 → 无法识别,标记为"不完整" 。

3.记录识别的标签。

将成功读取的 UID 储存到列表中。

向识别到的标签发送选择命令,将其从随后的防碰撞中移除。

4.循环直至完成。

重复步骤 2-4,直到

所有标签 UID 均已识别,或重试次数已达上限。

Re: 使用CLRC66303HN 在16-slots模式无法读取15693标签

我把

Middlewares\Third_Party\nxpNfcRdLib\intfs\phacDiscLoop.h 里的 PHAC_DISCLOOP_CFG_MAX_VICINITY_CARDS_SUPPORTED 改成0x10后 好像是执入16 SLOTS了。现在还有个问题 Examples\NfcrdlibEx4_MIFAREClassic\NfcrdlibEx4_MIFAREClassic.c 一次只能读取一张卡 给这张卡休眠之后继续读取 还是只读取到这一张卡 怎么解决?
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎12-25-2025 02:25 AM
更新者: