私は、ACR122U と AS3953 の間のカスタム ISO 14443-3A プロトコルの実装に取り組んでいます。タグが ACTIVE 状態で、ISO 14443-4 を使用していないときにフレームを送信したい。
では、libnfc を使用して、タグに何かを送信するための次の手順は正しいですか?
環境: Win10、libnfc 1.6.0
nfc_init (NULL);
pnd = nfc_open (NULL, NULL);
nfc_initiator_init (pnd);
//set some properties
nfc_device_set_property_bool (pnd, NP_EASY_FRAMING, true);
nfc_device_set_property_bool (pnd, NP_AUTO_ISO14443_4, false);
//selecting target
nfc_initiator_list_passive_targets (pnd, nm, ant, MAX_TARGET_COUNT);
nfc_initiator_select_passive_target (pnd, nm, NULL, 0, &(ant[n]));
この時点でタグは ACTIVE 状態になりますか?
送受信は ISO 14443-3 に基づいていますか?
nfc_initiator_transceive_bytes(pnd, TFrame, TFrameSize, RFrame, &RFrameSize, -1);
次に、ターゲットを停止します。
//deselect
nfc_initiator_deselect_target(pnd);
nfc_close (pnd);
nfc_exit (NULL);
ただし、リーダーとタグはこの方法では互いのデータを受信しません。
どちらの側も通信障害の原因となる可能性があるため、まず、正しいものを正しい方法で送信することを保証したいと思います。