ANFÄNGER BENÖTIGT HILFE!!
Ich habe ein Programm geschrieben um mir über einen Display anzeigen zu lassen in welchem Zimmer welches Fenster auf ist bzw. geöffnet wurde.
char Daten; // Variable Daten als Datentyp char
void setup() {
Serial.begin(9600); // Schnnittstelle mit 9600 Baud
//mySerial.begin(9600); // Schnnittstelle mit 9600 Baud
}
void loop() {
if (Serial.available()) {
Daten = Serial.read();
Serial.print(Daten);
}
}
Mit diesem Programm arbeite ich und es funktioniert auch.
Ich bekomme folgendes auf dem Display angezeigt:
017: 09.Nov 18:44
Fenster
10/1 Fenster
Jetzt benötige ich Hilfe, denn ich möchte als empfangene Daten lediglich 10/1 oder 10/1 Fenster angezeigt bekommen.
Kann mir bitte jemand Hilfestellung geben und vllt ein Sketch als Beispiel zeigen, wie ich das Problem angehe?
Schon bei deinem ersten Versuch wurdest du gefragt, warum du SoftwareSerial auf der Hardware Serial benutzt und anschließend dann doch nur die serielle Schnittstelle.
Warum beantwortest du du Frage nicht und machst den selben Fehler wieder ?
Für mich ist es kein Unsinn, aber Danke.
Bei meinem letzten Thread wurde mir nicht wirklich geholfen, da ich Anfänger bin!
Warum ich es von SoftwareSerial auf Hardware Serial benutze?... Hab ich gar nicht drüber nachgedacht, sondern einfach gemacht und hat funktioniert.
Alles was ich benötige ist ein Beispiel Sketch, wie ich die empfangenen Daten kürzen kann.
Wenn man programmiert, sollte man schon darüber nachdenken, was man macht, sonst fällt einem das direkt auf die Füße.
Nimm das bitte mal direkt aus dem Sketch raus, damit da nicht noch weitere Probleme auftreten.
Was das Kürzen betrifft, wurde dir im vorherigen Thread auch schon eine Antwort gegeben.
So ist das, wenn man nicht alles ließt und eigene Teile einfach löscht.
Im Allgemeinem wird hier - gerade Anfängern - eigentlich sehr oft geholfen.
Also ist Deine Aussage, daß Dir nicht geholfen wurde, WEIL DU ANFÄNGER BIST, schon Mal nicht so ganz korrekt.
Du hast (oder willst) die Dir angebotene Hilfe nicht annehmen - DAS ist allerdings eine etwas andere Situation.
Aber: Dein Problem, somit hast Du auch die Macht über den Lösungsweg - musst Den ja nicht mit uns gehen und auch wir können uns durchaus Mal irren, sind ja auch nur Menschen - allerdings ist das Groh der Aktiven hier wohl aus dem Anfänger-Stadium draußen ... sollte ich mich nicht erneut irren
Im Allgemeinem wird hier - gerade Anfängern - eigentlich sehr oft geholfen.
Also ist Deine Aussage, daß Dir nicht geholfen wurde, WEIL DU ANFÄNGER BIST, schon Mal nicht so ganz korrekt.
Du hast (oder willst) die Dir angebotene Hilfe nicht annehmen - DAS ist allerdings eine etwas andere Situation.
Danke! Und ja dies Aussage, dass mir nicht geholfen wurde, nehme ich auch zurück.
Mir wurde im ersten Thread diesbezüglich schon ein Hinweis gegeben und ich verstehe es auch, nur ging es mir darum, dass ich Hilfe bei dem Sketch mit Parser brauche.
Ich will hier niemandem ans Bein pinkeln und für den Link zu Robin2 bedanke ich mich. Wenn mein Englisch nicht so miserabel wäre, hätte ich den Parser schon längst fertig...
Mit Parser habe ich schon was geschrieben gehabt..habe es aber leider, weil mein PC faxen gemacht hat, zerschossen und bekomme es nicht hin.
Ebenso erarbeite ich mir täglich alle Grundkenntnisse und bin schon Stolz darauf, dass ich nach einer Woche lesen, einarbeiten und Programm schreiben, schon ein funktionierendes Programm hinbekommen habe. Ich weiß, dass ich noch viel mehr lernen muss und das nicht von heut auf morgen klappen wird. Doch bin voller Tatendrang!
Ich entschuldige mich für diesen miesen Anfang im Forum und hoffe das mir verziehen wird!?
Vielen Dank für die Hilfe. Es hat mich ein Stück weitergebracht.
Ich habe mir auch alles durchgelesen, was mir über den Link angezeigt wurde.. nur schaffe ich es nicht diese zwei Sketche zu verbinden.
Bezüglich dieses Sketches möchte ich char str3 als Array angeben, damit es als variable funktioniert.
Das Prinzip über den Buffer habe ich verstanden nur klappt es nicht das so zusammenzusetzen das ich variable daten empfangen kann. Denn es kommt ja nicht immer 10/1 raus.. dieses Ergebnis, was gleichzeitig auch die wichtigste Info ist, variiert.
Wie verbinde ich also Parsestring mit Array?
Überleg dir was sinnvolles, wie du die Infos per Schnittstelle austauschst z.B.
"WINDOW:65535"
was für ein uint32_t steht und was man binär auf 16x 1=AUF/0=ZU auswerten kann. Ggf. mit bitRead()
Was du dann wieder für Texte draus machst, ist völlig frei.
Für mich ist das Sinnvoll, weil das genau die Daten sind die ich bekomme und haben will!!!
Ich möchte die Daten nur gern sortieren bzw kürzen, was für mich wichtig ist und was nicht.
User1809:
Wie verbinde ich also Parsestring mit Array?
Indem du etwas Grundlagen über Arrays und char Arrays lernst.
Und den Zusammenhang zwischen Arrays und Zeigern. Arrays zerfallen bei der Übergabe zu Zeigern auf das erste Element. Daher haben Funktionen denen man Arrays übergibt einen Zeiger als Parameter. Und wenn readLine() einen Zeiger zurückgibt zeigt der auf das statische Array "buffer" innerhalb der Funktion
Das demonstriert dir ja auch der Test-Sketch. Die Strings sind dort fest vorgegeben, aber was hindert dich daran statt da einen String von der seriellen Schnittstelle zu übergeben? Das sind beides char Arrays!
Serenifly:
Indem du etwas Grundlagen über Arrays und char Arrays lernst.
Und den Zusammenhang zwischen Arrays und Zeigern. Arrays zerfallen bei der Übergabe zu Zeigern auf das erste Element. Daher haben Funktionen denen man Arrays übergibt einen Zeiger als Parameter. Und wenn readLine() einen Zeiger zurückgibt zeigt der auf das statische Array "buffer" innerhalb der Funktion
Das demonstriert dir ja auch der Test-Sketch. Die Strings sind dort fest vorgegeben, aber was hindert dich daran statt da einen String von der seriellen Schnittstelle zu übergeben? Das sind beides char Arrays!
Genau das ist mein Problem. Das ich nicht weiß, wie ich das anstelle, da ich Neuling bin und das mein erstes Projekt ist.
UND JA ich muss noch viel lernen und bin fleißig dabei!!