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!