String inputString = ""; // String para armazenar os dados recebidos
bool stringComplete = false; // Flag para indicar que a string está completa
void setup() {
Serial.begin(9600); // Inicia a comunicação serial a 9600 bps
inputString.reserve(200); // Reserva espaço para a string
Serial.println("SerialEvent Demo");
}
void loop() {
// Verifica se a string está completa
if (stringComplete) {
// Imprime a string completa recebida
Serial.println("Dados recebidos: " + inputString);
// Limpa a string e a flag
inputString = "";
stringComplete = false;
}
// Outras tarefas podem ser realizadas no loop
}
// Essa função é chamada automaticamente quando novos dados são recebidos
void serialEvent() {
while (Serial.available()) {
// Lê o próximo byte recebido
char inChar = (char)Serial.read();
// Adiciona o byte à string
inputString += inChar;
// Verifica se o caractere de fim de linha foi recebido
if (inChar == '\n') {
stringComplete = true;
}
}
}