TCP Verbindung Daten Anzeigen auf LCD

Die Sterne sollen nur da Display darstellen.

OK, also ein 20*2 Display:

************************
*HALLO            HAL*
*HALLO            HAL*
************************

Oder doch eher 16*2 ?

LiquidCrystal_I2C lcd(0x3F,16,2);

Habe eine S7 an der anderen seite mit einem Baustein der Senden und empfangen kann

Wie oft sendet der ?
Und woran soll der Arduino erkennen, dass ein neuer Text kommt ?

Am einfachsten, und wenn du die SPS auch im Griff hast, definiere doch Sonderzeichen für Text-Anfang (und/oder Text-Ende).
Dann brauchst du gar keine delay() in deiner loop() Funktion:

z.B. Text-Anfang = '>' :
Wenn kein Zeichen kommt, ist loop schon fertig, sonst:
Wenn ein '>' kommt, wird das lcd gelöscht und auf (0,0) gesetzt.
Jedes andere Zeichen wird wie bisher: ausgegeben, zurückgesendet und auf Serial protokolliert.

Jetzt du, dieses Programm in C. :wink:

Das Drumherum scheint ja zu funktionieren, auch wenn ich nicht sehe, wann alreadyConnected jemals wieder zurücksesetzt wird. Das soll wohl erlauben, dass erst der Arduino startet, und irgendwann später die TCP-Verbindung kommt...
aber nach einer Unterbrechung das ganze wieder zu verbinden ohne Reset, geht eher (noch) nicht.

und

 Serial.begin(9600);
   while (!Serial) { }

verstehe ich auch nicht ganz. Hat da jemand für das Serial Objekt den ! Operator umdefiniert oder ist das nur ein NOP - Befehl ???
Entschuldigung, emilio, lass dich da nicht verwirren. Wenn's geht, lass es halt wie es ist.

Deine neue Version hat den kleinen Nachteil, dass du auf jeden Fall 11 Zeichen liest, egal wie viele da sind, ( mehr oder weniger ?),
und alle Zeichen an die gleiche Stelle schreibst, noch dazu in ein char[] statt ein char ( kein Syntaxfehler ?! , schreib das ganze mal in

 Tags )

[code]int i=0;
while (client.available() && i < 11) { thisChar[ i++ ] = client.read() ; }

[/code]