Пытаюсь записать/прочитать информацию с NFC тэга (NfcV) M24LR64E-R.
Реализовал три команды: Read Single Block, Write Single Block, Get System Info. На все эти команды тэг отвечает, что передача удалась. Но сама команда transceive() возвращает byte[] длинной 2.
Сам ответ: byte[0] = 1, byte[1] = 3.
Не могу понять в чем дело... Что тэг хочет мне сказать данным ответом?
Вот мой код:
if (myTag == null) {
Toast.makeText(context, "Tag = null", Toast.LENGTH_LONG).show();
} else {
Intent intent = getIntent();
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())
) {
myTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcV nfcv = NfcV.get(myTag);
try {
Get System Info:
byte[] id = myTag.getId();
byte[] cmd = new byte[2 + id.length];
cmd[0] = 0x20;
cmd[1] = 0x2B;
System.arraycopy(id, 0, cmd, 2, id.length);
Read Single Block:
byte[] cmd = new byte[] {
0x60, 0x20,
0, 0, 0, 0, 0, 0, 0, 0,
(byte)0,0
};
System.arraycopy(id, 0, cmd, 2, 8);
Write Single Block:
byte[] cmd = new byte[]{
0x60, 0x21,
0, 0, 0, 0, 0, 0, 0, 0,
(byte) 0,
mes[0], mes[1], mes[2], mes[3],
(byte) 0
};
System.arraycopy(id, 0, cmd, 2, 8);
При выполнении 2 команды закомменчены и передается лишь одна
try {
nfcv.connect();
Toast.makeText(context, "connect", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
byte[] conf = nfcv.transceive(cmd);
Toast.makeText(context, "transceive", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(context, "NO transceive",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
try {
nfcv.close();
} catch (IOException e) {
e.printStackTrace();
}
Как оказалось - CRC в явном виде не оправляется, т.к. функция высчитывает его сама. Моя ошибка заключалась в отправке неверного флага. Покопался в даташите и нашел описание каждого бита флага. Теперь все работает.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть две картинки, они кликабельные, нажимая на эти картинки, я меняю цвет Action BarНо один код работает отлично, другой абсолютно такой...
Я разрабатываю игровое дополнение для Minecraft и столкнулся со следующей проблемойКогда я выполняю команду на добавление клана, то происходит...
Пытаюсь подключиться к БДjar файл подключил как библиотеку
Как привязать url фото профиля из Storage и юзера чата с этим фото из Database в одном адаптере?