Hallo,
das funktioniert:
const int SERIAL_BUFFER_SIZE = 9;
char serialBuffer[SERIAL_BUFFER_SIZE];
int zlA = 0;
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
}
void loop()
{
if (zlA == 0) //Kommando 1mal senden
{
Serial1.println("T");
zlA = 1;
}
if (readSerial(Serial1) == true)
if (zlA == 1)
{
delay(5000); // wenn verarbeitung fertig, warte
zlA = 0;
}
}
bool readSerial(Stream& stream)
{
static byte index;
while (stream.available())
{
char c = stream.read();
if (c >= 32 && index < SERIAL_BUFFER_SIZE - 1)
{
serialBuffer[index++] = c;
}
else if ((c == '\n' || c == '\r') && index > 0)
{
serialBuffer[index] = '\0';
index = 0;
// ***********************************************************Ausgabe serieller Monitor**************
Serial.print("Ausgabe :");
Serial.print(serialBuffer);
Serial.print(" Integer:");
int Wert = atoi(serialBuffer + 5); //serialBuffer auf richtige länge bringen
Serial.print(Wert);
float Zahl=Wert;// int in float
Zahl /=10;
Serial.print(" Float:");
Serial.println(Zahl,1);
return true;
}
}
return false;
}
// Ausgabe : T 01233 Integer:233 Float:23.3
Das Original stammt von Serenifly
Gruß und Spaß
Andreas