Ciao, avrei bisogno di qualche dritta per risolvere un problema che sto riscontrando con la software serial.
Praticamente sembra che legga sempre il primo byte dello stream di dati che mi arriva, mentre so per certo che i byte in arrivo sono diversi (testato con successo con la seriale hardware)
ho provato sia così:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup()
{
Serial.begin(57600);
mySerial.begin(57600);
}
void loop()
{
mySerial.listen();
Serial.println(mySerial.read());
}
che così:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup()
{
Serial.begin(57600);
mySerial.begin(57600);
}
void loop()
{
if (mySerial.available()){
Serial.println(mySerial.read());
}
}
Ma in uscita vedo sempre e soltanto 170, che è il valore del primo byte che dovrei ricevere.
Onestamente non ho trovato che siano necessari altri particolari modi di uso.
il ground è in comune, anche perchè ripeto, facendo tutto da seriale hardware funziona.
nessuna idea?