Boa tarde a todos,

estou com um problema para resolver, tenho dois leitores de rfid modelo AcuProx para ligar no Arduino Uno.

O que acontece quando ele lê o primeiro cartão ele fica preso no processo até que seja lido o outro cartão, ele deveria ler o primeiro cartão varias vezes junto como segundo cartão.

a baixo está o código que estou usando para realizar a leitura do cartão:

#include <SoftwareSerial.h>

//const int SerInToArdu=0; //rx
//const int SerOutFrmArdu=1;//tx

//SoftwareSerial mySerialPort(SerInToArdu,SerOutFrmArdu);
//SoftwareSerial mySerialPort2(13,12);

String tagID = "";

void setup()
{
Serial.begin(9600);
Serial.println("Aproxime uma tag RFID do leitor...");
//mySerialPort.begin(9600);
}
/********************************função****************************************************/
void retorna(int in, int out){
SoftwareSerial mySerialPort(in,out);
mySerialPort.begin(9600);
char incomingByte=char(0);
for (;;)
{
incomingByte = mySerialPort.read();
if (((incomingByte > 47) && (incomingByte < 91)) || (incomingByte == 3))
{
if (incomingByte==3) // fim da transmissão
{
Serial.println(tagID+"-->"+in+"-->"+out);
tagID="";
break;
}
else
tagID+=char(incomingByte);
}
}

//Serial.end();

mySerialPort.end();
}
/************************************************************************************/
void loop()
{
retorna(13,12);

delay(500);

retorna(0,1);

}

já tentei finalizar a leitura da porta, fechar a porta e abrir ela novamente para a leitura é não está funcionando.

Desde já agradeço.

Exibições: 205

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço