Os códigos que encontrei na web eram, no geral, criados para envio de char ou int. Eu queria algo mais dinâmico, usando String! Eis o código:
String serialRead() {
String msg;
while (!Serial1.available()) {
char c = (char) Serial1.read();
if (c == '\n') {
break;
}
msg += c;
delay(1);
}
msg.trim();
return msg;
}
// Esse método é disparado sempre
// que a porta serial recebe alguma coisa
// nesse caso a Serial1 do Arduino Mega
void serialEvent1() {
String msg;
while (1 == 1) {
char c = (char) Serial1.read();
if (c == '\n') {
break;
}
msg += c;
delay(1);
}
msg.trim();
Serial.println("mensagem recebida: " + msg);
}
void setup() {
// Initial setup
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
}
O módulo APC vem com um adaptador USB, então você pode conectá-lo e enviar mensagens usando o monitor serial para testar. Esse código vai receber a mensagem do APC pela porta serial 1 e enviar para serial padrão.
1 comentários:
Julio, quais as dificuldades que teve? Eu não estou conseguindo fazer funcionar estes módulos de forma nenhuma. Tens alguma dica?
Postar um comentário