Команда «InListPassiveTarget» устройства PN532 возвращает только один ACK и больше ничего - PullRequest
0 голосов
/ 02 мая 2018

Мне удалось связаться с устройством PN532 через микроконтроллер (RS232). Я выхожу из режима низкого энергопотребления, я получаю версию прошивки и общий статус.

Теперь я хочу прочитать тег типа MiFare (ISO / IEC14443), и отправляемый кадр выглядит следующим образом:

передачаBuffer [0] = 0x00;

TransmissionBuffer [1] = 0x00;

translationBuffer [2] = 0xFF;

трансмиссионный буфер [3] = 0x04;

трансмиссионный буфер [4] = 0xFC;

трансмиссионный буфер [5] = 0xD4;

передачаBuffer [6] = 0x4A;

трансмиссионный буфер [7] = 0x01;

передачаBuffer [8] = 0x00;

буфер передачи [9] = 0xE1;

передачаBuffer [10] = 0x00;

И кадр, на который отвечает PN532:

receiveBuffer [0] = 0x00;

приемный буфер [1] = 0x00;

приемный буфер [2] = 0xFF;

приемный буфер [3] = 0x00;

приемный буфер [4] = 0xFF;

приемный буфер [5] = 0x00;

Я хочу указать, что я выполняю процедуру при приеме данных от MCU, которая состоит из таймера, который сбрасывается каждый раз, когда байт поступает из PN532, и когда больше не поступает байтов, таймер переполняется, и это предполагается что кадр завершен.

Таким образом, в одной упаковке я получаю ACK больше ответа.

Чтобы исключить, что ответ на команду "InListPassiveTarget" занимает больше времени, чем таймер, я пробовал до 20 секунд, и для этой команды поступает только ACK.

Для остальных, о которых я говорил в начале, проблем нет.

Заранее благодарен за любые предложения или комментарии.

Спасибо

...