zuerst schönes Wochenende für alle die frei haben!
und wie immer eine dumme Anfänger Frage.
Hab versucht das zu googeln aber anscheinend versteh ich das nicht obwohl ich sogar c Bücher runter geladen habe.
Was wird das wenn es fertig ist?
Und was möchtest du genau machen?
Beschreibe exakt welche Funktionalität erwünscht ist.
Beschreibe exakt was aktuell nicht funktioniert.
Schau dir doch mal die Serial Input Basics an wie man Sachen von einer Seriellen Schnittstelle einliest.
Dauert ne Stunde - dann klappt es.
Die funktioniert.
Der Vergleich in der Bedingung gibt Dir einen Wert != 0 zurück.
Hast Du die Warnungen eingeschaltet?
Dann schau nach dem compilieren mal unten in die Ausgabe.
Und wenn Du genau wissen willst, was da beim Vergleich drin steht, mach Dir einen else auf:
if (strcmp(abf_c, vergl) == 0)
{
Serial.println("Vergleich ok");
//SerialBT.write(buf, a.length());
}
else
{
for (byte b = 0; b < sizeof(abf_c); b++)
{
Serial.print(abf_c[b], HEX);
Serial.print(' ');
}
Serial.println();
for (byte b = 0; b < sizeof(vergl); b++)
{
Serial.print(vergl[b], HEX);
Serial.print(' ');
}
Serial.println();
}
Das runterladen von Büchern, hilft nicht dem C Verständnis auf die Sprünge.
Dazu muss man diese Bücher auch lesen.
Zudem ist Arduino in der Hauptsache C++.
Es wäre also völlig ok, ein C++ Buch zu lesen, wenn man C++ lernen will.
Zu deinem eigentlichen Problem:
Leider habe ich nicht verstanden, was du "wirklich" erreichen möchtest.
Ich vermute, du möchtest einen Parser bauen!
Falls das der Fall sein sollte, auch dazu gibt es Literatur.
Sorry war essen.
Um das mal zu erklären, bei mir kommt im Seriel monitor das:
abf_c:: send
Vergleich: 13
Länge abf: 6
abf:: send
also sind ja meine variablen die selben und für mich sieht es so aus al wenn die if nicht funktioniert obwohl eben strcmp schon was falsches gibt, jedoch sagen mir die variablen das bei beiden send drin steht.
Und ja das ganze kommt erst nachdem ich von handy an den esp32 was gesendet habe.
War auch meine erste Idee und ist vlt nicht gut, aber deshalb bitte ich ja hier um hilfe ob jemand so nett wäre und zeit hätte mir tipps zu geben.
Hier sind halt die Profis und an die versuch ich mich zu wenden, da ihr es am besten von allen wisst
Deshalb ist der Vorschlag, Dir mal alles als Hex ausgeben zu lassen äußerst hilfreich, wenn man ihn nutzt.
Keine Sorge, if und strcmp funktionieren garantiert. Der Fehler sitzt vor dem Monitor.
Ok dann mach ich das mal und schau ob ich schlauer werde.
Ich gebe dir da recht das sicher ich der fehler bin, damit hab ich kein problem.
Wie gesagt ich frage ja nach tipps von den profis um schlauer zu werden.
Und bin auch für alles was mir hilft dankbar, ist nicht selbstcverständlich immer jemanden anders zu helfen.
So bin jetzt schlauer das ich am ende /n bekomme bei serieler eingabe und das mittels trim() wegbekomme, dann hab ich aber das problem von post#4
Wenn ich die länge um 1 erweitere dann sind jetzt beide gleich lang aber trotzdem funktioniert strcmp noch immer nicht.
Hätte jemand wieder einen tipp der mich in die richtige richtung bringt oder woran das genau liegt?