// Serial read and "parse"
#define BUF_SIZE 66 // max 64 byte, delší rozdělí po 64 bytech - opakuje se readSerial
//char newMessage[BUF_SIZE] = { "" };
bool newMessageAvailable = false;
String newMessage;
uint8_t m_length; // length of new message
void setup() {
Serial.begin(9600); // Spuštění sériové komunikace
Serial.setTimeout(50); // Zkrácení timeoutu na 50 ms pro rychlejší odezvu
Serial2.begin(9600, SERIAL_8N1, 16, 17); // hwUART2 e.g. pins RX=GPI16 TX=GPI17 for Nextion serial
}
void loop() {
/*
Serial2.println(" serin test ");
Serial2.print("j0.val=15");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
*/
// Kontrola, zda jsou v bufferu vůbec nějaká data k dispozici
if (Serial.available() > 0) {
// Načte text ze sériové linky, dokud nenarazí na klávesu Enter ('\n')
String newMessage = Serial.readStringUntil('\n');
newMessage.trim(); // Odstraní případné neviditelné znaky na konci (např. '\r' při CR+LF)
m_length = newMessage.length();
Serial.print("Prijato Serial ");
Serial.print(m_length);
Serial.println(" byte, indexed output :");
for(uint8_t index = 0; index < m_length+1; index++)
{
Serial.print(newMessage[index]); // mohu pracovat s jednotlivými byte pole
}
Serial.println("");
Serial.print("newMessage : ");
Serial.println(newMessage);
Serial.println("loop.....");
Serial2.print(newMessage);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
}
if (Serial2.available() > 0) {
// Načte text ze sériové linky, dokud nenarazí na klávesu Enter ('\n')
String newMessage = Serial2.readStringUntil('ÿ'); // čeká jen na první 0xFF, ještě dořešit 3x termination char
newMessage.trim(); // Odstraní případné neviditelné znaky na konci (např. '\r' při CR+LF)
m_length = newMessage.length();
Serial.print("Prijato Serial2 ");
Serial.print(m_length);
Serial.println(" byte, indexed output :");
for(uint8_t index = 0; index < m_length+1; index++)
{
Serial.print(newMessage[index]); // mohu pracovat s jednotlivými byte pole
}
Serial.println("");
Serial.print("newMessage : ");
Serial.println(newMessage);
Serial.println("loop.....");
}
}