Hallo,
ich habe hier so meine richtigen Probleme mit der seriellen Verarbeitung
Arduino/Nextion.
Ich habe einen NextionButtom der nur seine ID (65000301FFFFFF)ausgibt.
Das Nextion gibt diese auch an CoolTerm so aus.
Mit meinem Sketch bekomme ich,
65
0
3
1
FFFFFFFF
FFFFFFFF
FFFFFFFF
heraus. Das sieht gut aus, anfangen kann ich damit aber nichts.
Wie bekomme ich das denn getrennt.
also,
65
00
03
01
ich hätte das schon gerne NICHT- als String.
Möchte mir da einmal jemand helfen.
Meinen Sketch halte ich eigenlich im Grunde gut dafür. Ich weiß nur nicht,
was ich ändern sollte.
Er findet auch kein EndeTerminator.
Gruß und Dank
Andreas
Sketch
#include <Wire.h>
const int SERIAL_BUFFER_SIZE = 20;
char serialBuffer[SERIAL_BUFFER_SIZE];
void setup()
{
Serial.begin(9600);
Serial3.begin(19200);//Nextion
}
void loop()
{
if (Serial3.available() > 0)
{
if (readSerial(Serial3) == true);
{
NexSer();
}
}
}
bool readSerial(Stream& stream)
{
static byte index;
while (stream.available())
{
char c = stream.read();
Serial.println(c,HEX);
if (c,HEX >= 20 && index < SERIAL_BUFFER_SIZE - 1)
{
serialBuffer[index++] = c,HEX;
//Serial.println(c,HEX);
}
else
if ((c,HEX == 'FF' || c == '\r') && index > 0)
{
Serial.println("aussteigen");
serialBuffer[index] = '\0';
index = 0;
return true;
}
}
return false;
}
//********************************************************************* Nextion Abfrage seriell
void NexSer()
{
//mache etwas
}