String zu Char Array Problem!

Hallo! ich habe ein Problem und zwar bekomme ich einen Code Seriell auf den Arduino Nano, welches nach der Ausgabe in ein Char Array umgewandelt wird.. Bei der Ausgabe von den Chars kommt was ganz anderes raus.

Val = 1234

Char = 99
103
23
0
0

String val;
#define BEFEHL_1 20
#define BEFEHL_2 00
#define BEFEHL_3 00
#define BEFEHL_4 00

int PacketBufferSize;
char PacketBuffer[33];




void setup()
{
 Serial.begin(115200)
}

void loop()
{
  
if (Serial.available())
  {
    val = Serial.readString();
    Serial.println(val);
    delay(200);
    PacketBufferSize = val.length()+1;
    val.toCharArray(PacketBuffer,33); // gibt falsche zahlenwerte raus

    Serial.println(PacketBuffer[0]+PacketBuffer[1]);
    Serial.println(PacketBuffer[2]+PacketBuffer[3]);
    Serial.println(PacketBuffer[4]+PacketBuffer[5]);
    Serial.println(PacketBuffer[6]+PacketBuffer[7]);
    Serial.println(PacketBuffer[8]+PacketBuffer[9]);


    if  (PacketBuffer[0]+PacketBuffer[1] == BEFEHL_1)
    {
      Serial.println("Es funktioniert");
    }
    memset(PacketBuffer, 0, sizeof PacketBuffer);

  }
}

Das das letzte Zahl nach der Umwandlung von Strings eine 0 ist, weiß ich.

Ich hoffe jemand kann mir helfen
Danke!

Schau dir die ASCII Tabelle an. Du scheinst mit den Datentypen verwirrt zu sein. '0' ist etwas anderes als 0.

Und wenn du zwei char addierst, dann kommt da lediglich eine Zahl heraus. Das ist wahrscheinlich nicht was du wirklich willst. Wenn doch, dann ist dein Design falsch.

toCharArray() ist vollkommen überflüssig. Du kommst auch ohne das an die einzelnen Zeichen eines String Objekts. Und mit c_str() kann man auch Lesend auf das interne Array zugreifen ohne extra Speicher anzulegen