お願いします、
ACR122Uリーダーを使用して1kタグをmifareするための単純なバイナリブロックを作成しようとしています。
ブロック01、5バイト、テキスト「teste」に書き戻そうとしています。
しかし、このブロックを更新すると、常にエラー6300が発生します。
何かご意見は?
私はwindows8.1 / delphixe8を使用しています。
私のログは:
SCardEstablishContext succeeded.
Card State changed in ACS ACR122U PICC Interface 0 to available
New reader found: ACS ACR122U PICC Interface 0
Card inserted in ACS ACR122U PICC Interface 0
ATR = 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A
SCardConnect (shared) succeeded.
Active Protocol: T=1
ISO 14443 A, Part3 Card Type: Mifare Standard 1K is detected
Sending APDU to card: FF 82 00 01 06 FF FF FF FF FF FF
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF 86 00 00 05 01 00 01 60 01
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF 86 00 00 05 01 00 01 60 01
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF D6 00 01 05 74 65 73 74 65
SCardTransmit succeeded.
Card response status word: 6300 (State of non-volatile memory changed.)
これは、ドキュメントを読むことで簡単に解決できます。
ブロックに書き込んでいて、情報の完全なブロックを提供する必要があります。の唯一のオプションLc
はx04
、x10
または-4バイトまたは16バイトです。Mifare 1Kの場合、16バイトを指定する必要があることは明らかです。データは5バイトしかないため、残りはゼロで埋めます。
| CMD | block1 | 16 bytes | data ...
FF D6 00 01 10 74 65 73 74 65 00 00 00 00 00 00 00 00 00 00 00
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加