Как использовать метод readblock () в библиотеке mfrc522-netmf с c # для Raspberry Pi 3 B +? - PullRequest
0 голосов
/ 18 января 2019

Я использую библиотеку 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();
            }
}
...