Ciao a tutti,
sto cercando di ricevere dati da un Xbee standalone con un pulsante collegato ad un digital input che invia a un Arduino Uno collegato al pc:
usando questo sketch ricevo tutti i dati che mi aspetto dall'Xbee standalone:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available() > 21) {
if(Serial.read() == 0x7E) {
Serial.print("7E,");
for (int i=0; i<21; i++) {
Serial.print(Serial.read(), HEX);
Serial.print(",");
}
Serial.println();
}
}
}
invece quando uso lo sketch per raccoglierli in una stringa e poi stamparli con serial.Print non vedo niente stampato. Lo sketch è questo:
//Sketch con xbee in API mode che riceve i valori da router in sleep e li ordina in una stringa stampandola sulla seriale
String inputString;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available() > 0) {
if (Serial.read() == 0x7E) {
char ric_ext = Serial.read();
inputString += ric_ext; // Componi una stringa con tutti i caratteri fino a quando...
if (ric_ext == 0xCA) { // ...non riceve il carattere di fine trasmissione!
Serial.println(inputString);
inputString = "";
}
}
}
}
0x7E e 0xCA sono rispettivamente il primo e l'ultimo carattere che vengono inviati.
Grazie per l'aiuto.