16 スロット モードで CLRC66303HN を使用してタグ 15693 を読み取ることができません。 使用している SDK バージョンは... NxpNfcRdLib_RC663_v07.14.00_Pub.zip 1 つのスロットを使用してタグを読み取るのは非常に高速ですが、16 スロットに変更すると、エラー 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. インベントリ コマンドを開始します。
リーダーは Inventory コマンドを送信し、タグは応答する時間枠をランダムに選択します。
読者は回答を収集します:
タイムスロットにタグが 1 つしかない場合 → UID を取得します。
タイムスロットで衝突が発生した場合 → 認識できず、「未完了」とマークされます。
3. 認識されたタグを記録します。
正常に読み取られた UID をリストに保存します。
認識されたタグに Select コマンドを送信して、後続の衝突回避からタグを削除します。
4. 完了するまでループします。
次の条件が満たされるまで手順 2 ~ 4 を繰り返します。
すべてのタグ UID が認識されるか、再試行の最大回数に達しました。 Re: 使用CLRC66303HN 在16-slots模式无法读取15693标签 我掴 Middlewares\Third_Party\nxp\NxpNfcRdLib\intfs\phacDiscLoop.h のPHAC_DISCLOOP_CFG_MAX_VICINITY_CARDS_SUPPORTED が 0x10 に変更された後、良い画像が 16 スロットに挿入されました。 Examples\NfcrdlibEx4_MIFAREClassic\NfcrdlibEx4_MIFAREClassic.c 次只能读取一张卡 给这张卡休眠之后继续读取 还是只读取到这一张卡 怎么 解决?
查看全文