1 Serial.print com 2 dados diferentes na mesma linha

Prezados, se postei o trecho do código errado peço desculpas

Vejam o trecho abaixo, ele está em Void RfidRead. Estou lendo 2 dados dentro de um rfid, um dado chamo de NOME e outro de VALOR, cada qual está na sua determinada posição dentro do rfid (bloco, setor). Quando leio o rfid recebo na serial os dois dados porém um na primeira linha e o outro na linha logo abaixo. Eu preciso que fiquem os dois na mesma linha separados por 1 única vírgula no final de cada nome.

Digo isto porqie tentei adicionar um Serial.print(",") e aí apareceram 16 vírgulas (tamanho do buffer). Assim: ,N,O,M,E, , , , , , ,

Como devo fazer para que eu possa ver na serial os dois campos na mesma linha separados por 1 vírgula no final de cada campo ?

// Obtem os dados do setor 0, bloco 1 = Nome
  byte sector         = 0;          byte status;
  byte blockAddr      = 1;          byte buffer1[18];
  byte trailerBlock   = 3;          byte size = sizeof(buffer1);  
  status = rfid.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 1, &key, &(rfid.uid)); //autenticação usando chave inicial 
  status = rfid.MIFARE_Read(blockAddr, buffer1, &size);
    for (byte i = 0; i < 16; i++) //mostra os dados na serial
  {
    Serial.print(char(buffer1[i]));
  } 
    
// Obtem os dados do setor 0, bloco 2 = Valor
  sector         = 0;          status;
  blockAddr      = 2;          byte buffer2[18];
  trailerBlock   = 3;          size = sizeof(buffer2);  
  status = rfid.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 2, &key, &(rfid.uid)); //autenticação usando chave inicial 
  status = rfid.MIFARE_Read(blockAddr, buffer2, &size);   
    for (byte i = 0; i < 16; i++) //mostra os dados na serial
  {
    Serial.print(char(buffer2[i]));
  }

Olá,

Coloca o Serial.print(",") depois do primeiro ciclo "for", antes da escrita do segundo bloco.

// Obtem os dados do setor 0, bloco 1 = Nome
  byte sector         = 0;          byte status;
  byte blockAddr      = 1;          byte buffer1[18];
  byte trailerBlock   = 3;          byte size = sizeof(buffer1);  
  status = rfid.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 1, &key, &(rfid.uid)); 
  //autenticação usando chave inicial 
  status = rfid.MIFARE_Read(blockAddr, buffer1, &size);
  for (byte i = 0; i < 16; i++) //mostra os dados na serial
  {
    Serial.write(buffer1[i]);
  }

  Serial.print(",");  // Separador entre blocos.

  // Obtem os dados do setor 0, bloco 2 = Valor
  sector         = 0;          status;
  blockAddr      = 2;          byte buffer2[18];
  trailerBlock   = 3;          size = sizeof(buffer2);  
  status = rfid.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 2, &key, &(rfid.uid)); 
  //autenticação usando chave inicial 
  status = rfid.MIFARE_Read(blockAddr, buffer2, &size);   
  for (byte i = 0; i < 16; i++) //mostra os dados na serial
  {
    Serial.write(buffer2[i]);
  }

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.