Я использую библиотеку mfrc522 для Raspberry Pi 3 B +, и у меня проблема с методом readblock.
Когда я использую метод ReadBlock()
, данные блока не возвращаются.
Когда я использую метод Select()
перед вызовом метода ReadBlock()
, он выполняется и возвращает данные блока, но после этого любая карта или тег не читаются.
Пожалуйста, помогите мне, как использовать блок чтения и записи блока через эту библиотеку.
Большое спасибо
Это мой код:
var mfrc = new Mfrc522();
// mfrc.Reset();
await mfrc.InitIO();
while (true)
{
if (mfrc.IsTagPresent())
{
var uid = mfrc.ReadUid();
byte[] keyA = StringToByteArray("FFFFFFFFFFFF");
byte[] key1 = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
int intValue = 4;
byte[] intBytes = BitConverter.GetBytes(intValue);
if (BitConverter.IsLittleEndian)
Array.Reverse(intBytes);
byte[] result21 = intBytes;
mfrc.MifareAuthenticate(PiccCommands.AuthenticateKeyA, 3, uid, keyA);
byte[] result = mfrc.ReadBlock(31);
// bool bln = mfrc.SelectTag(uid);
//byte[] result = mfrc.ReadBlock(3, uid, keyA, keyA);
// mfrc.HaltSelect();
string txt_Result = "";
foreach (byte byt in result )//uid.FullUid)
{
txt_Result = txt_Result + byt.ToString("x2");
}
txtUID.Text = txt_Result;
mfrc.HaltTag();
// mfrc.MyReset();
//await mfrc.InitIO1();
}
}