Unterschiede bei Strings

Guten Morgen,

ich sitze gerade dabei mit einem esp8266 UDP Messages an das Programm Serialcominstruments zu senden.

Folgender Code funktioniert händisch

void loop()
{
Client.beginPacket("192.168.0.63",6001);
Client.write("#3M45<");
Client.endPacket();
delay(500);
}

Wenn ich aber einen String senden will mit folgenden Code klappt es aber nicht.

void SendString(byte InstrNr, int MWert) {
 
Client.beginPacket("192.168.0.63",6001);
Client.write("#");
Client.write(InstrNr);
Client.write("M");
Client.write(MWert);
Client.write("<");
Client.endPacket();
}

Im Loop schreibe ich dann

SendString(3,30);

Ankommen tut dann anscheinend nichts.

write() sendet Binär-Daten. print() sendet ASCII. write(char*) geht mit C Strings. write(byte) macht nicht was du denkst

Du kannst auch sprintf() verwenden um einen fertig formatierten String zu erzeugen und dieses dann als einziges Paket senden

Super vielen Dank. Das war es gewesen.