nfc.inDataExchange not a complete answer APDU

pn532 module connected to arduino nano via i2c protocol

test sketch view uid card works

when I try to send an APDU command to a command, I get an incomplete response … or rather not even true.

I want to select the appropriate AID application with the command:
0x00, 0xA4, 0x04, 0x00, 0x0E, 0x32, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, 0x00

and I wait in the answer that that like this:
6f 2c 84 0e 32 50 41 59 2e 53 59 53 2e 44 44 46 30 31 a5 1a bf 0c 17 61 15 4f 07 a0 00 00 00 04 30 60 87 01 01 50 07 4d 41 45 53 54 52 4f 90 00

but instead a strange answer comes to me, not like anything else, but also a very short one:
Hello!
Found chip PN532
Firmware ver. 1.6
Waiting for an ISO14443A card
Tag number: 1
responseLength: 51
6F 2F 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 1D BF 0C 1A FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF o/⸮.2PAY.SYS.DDF01⸮.⸮…⸮⸮⸮⸮⸮⸮⸮

what am I doing wrong?

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_PN532.h>
 
// If using the breakout with SPI, define the pins for SPI communication.
#define PN532_SCK  (2)
#define PN532_MOSI (3)
#define PN532_SS   (4)
#define PN532_MISO (5)
 
// If using the breakout or shield with I2C, define just the pins connected
// to the IRQ and reset lines.  Use the values below (2, 3) for the shield!
#define PN532_IRQ   (2)
#define PN532_RESET (3)  // Not connected by default on the NFC Shield
 
// Uncomment just _one_ line below depending on how your breakout or shield
// is connected to the Arduino:
 
// Use this line for a breakout with a software SPI connection (recommended):
//Adafruit_PN532 nfc(PN532_SCK, PN532_MISO, PN532_MOSI, PN532_SS);
 
// Use this line for a breakout with a hardware SPI connection.  Note that
// the PN532 SCK, MOSI, and MISO pins need to be connected to the Arduino's
// hardware SPI SCK, MOSI, and MISO pins.  On an Arduino Uno these are
// SCK = 13, MOSI = 11, MISO = 12.  The SS line can be any digital IO pin.
//Adafruit_PN532 nfc(PN532_SS);
 
// Or use this line for a breakout or shield with an I2C connection:
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);
 
void setup(void) {
  Serial.begin(115200);
  Serial.println("Hello!");
 
  nfc.begin();
 
  uint32_t versiondata = nfc.getFirmwareVersion();
  if (! versiondata) {
    Serial.print("Didn't find PN53x board");
    while (1); // halt
  }
  // Got ok data, print it out!
  Serial.print("Found chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX); 
  Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC); 
  Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
  
  // configure board to read RFID tags
  nfc.SAMConfig();
  
}
 
 
void loop(void) {
  uint8_t success;
  Serial.println("Waiting for an ISO14443A card");
  
  // set shield to inListPassiveTarget
success = nfc.inListPassiveTarget();
if(success) {
  
  uint8_t apdu[] ={0x00, 0xA4, 0x04, 0x00, 0x0E, 0x32, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, 0x00};

  uint8_t apduLength=sizeof(apdu);
  uint8_t response[255];
  memset(response, 0, sizeof(response));
  uint8_t responseLength=sizeof(response);
  success = nfc.inDataExchange(apdu, apduLength, response, &responseLength);
  Serial.print("responseLength: "); Serial.println(responseLength);
  nfc.PrintHexChar(response, responseLength);
}
    
  
}

any body

what am I doing wrong?

You are not following directions. The stickies at the top of the forum describe how to post code. They do NOT suggest that you use quote tags.

I'm reasonably certain that you are not shifting the value 8) places to the right.

void loop()
{
  bool success;
  // set shield to inListPassiveTarget
  success = nfc.inListPassiveTarget();
 
  if(success) {
    Serial.println("CARD FOUND");
    uint8_t selectApdu[] = {0x00, /* CLA */
                            0xA4, /* INS */
                            0x04, /* P1 ) */
                            0x00, /* P2  */
                            0x0E, /* Lc  */
                            0x32, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, /* Data = Lc*/
                            0x00  /* Le */ };
    uint8_t response[255];
    memset(response, 0, sizeof(response));
    uint8_t responseLength = sizeof(response);  
     
    success = nfc.inDataExchange(selectApdu, sizeof(selectApdu), response, &responseLength);
    if(success) {
      Serial.print("responseLength: "); Serial.println(responseLength);
      nfc.PrintHexChar(response, responseLength);
      } 
      }
      }

so do you like it more?
is there anything to answer in the essence of my question?

I'm reasonably certain that you are not shifting the value 8) places to the right.

did not understand say more simple words I'm from russia and do not understand

hello, my problem was solved: I changed the connection from i2c to SPI and it all worked!

Now the following problem has appeared:
I sent the command to select the PPSE and received the application in the AID response:
apdu: 00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
anwers: responseLength: 51
6F 2F 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 1D BF 0C 1A 61 18 4F 07 A0 00 00 00 04 10 10 50 0A 4D 61 73 74 65 72 43 61 72 64 87 01 01 90 00 o/⸮.2PAY.SYS.DDF01⸮.⸮..a.O.⸮......P.MasterCard⸮..⸮.

now I need tostart this AID:
but the response does not contain the tag I need(9F38 Processing Options Data Object List (PDOL)), moreover, the answer does not come full, without 90 00 at the end:
apdu: 00 A4 04 00 07 A0 00 00 00 04 10 10 00
anwers: responseLength: 61
6F 39 84 07 A0 00 00 00 04 10 10 A5 2E 50 0A 4D 61 73 74 65 72 43 61 72 64 87 01 01 5F 2D 04 72 75 65 6E BF 0C 15 9F 5D 03 01 00 00 9F 4D 02 0B 0A 9F 6E 07 06 43 00 00 00 00 00 00 00 o9⸮.⸮......⸮.P.MasterCard⸮.._-.ruen⸮..⸮]....⸮M...⸮n..C.......

I can not understand what my mistake is?