Hallo, ich bin noch ziemlicher Anfänger im Programmieren und komme gerade nicht weiter. google und ChatGPT bringen auch nichts und hier im Forum habe ich auch nichts passendes gefunden. Ich versuche über UART einen Text von dem einen MC zum Anderen zu senden und diesen dann über ein LCD ausgeben zu lassen. in erster linie dient es mir nur dazu mich mit dem system auseinander zu setzen und mit den Funktionen vertraut zu werden. wenn ich die Daten vom ersten MC über des Serial Monitor vom PC auslese passt alles wenn ich den Zweiten dran hänge RX>TX und TX>RX scheint es so als würden keine daten empfangen werden. Ich schaffe es Leider nicht über den SerialMonitor von PIO Daten zum zweiten Mc zu senden um zu überprüfen ob bei der Programmierung alles passt. über einen "kleinen" Tipp wo mein Fehler liegen könnte wäre ich euch sehr Dankbar mfg Pascal
Funktioniert das LCD am zweiten Controller denn ohne die Eingabe über den seriellen Port? Teste das mal (durch Codeänderung) indem du dort direkt Zeichen ausgibst, die dann später von der seriellen Schnittstelle kommen. Also das klassische Vorgehen bei der systhematischen Fehlersuche: auftrennen in Blöcke und damit herausfinden, auf welcher Seite sich das Problem befindet.
Pascal G. schrieb: > über einen "kleinen" Tipp wo mein Fehler liegen könnte wäre ich euch > sehr Dankbar Deine Shift-Taste funktioniert nur sehr erratisch und die ','-Taste hakt. > wenn ich die Daten vom ersten MC über des Serial Monitor vom PC auslese > passt alles > wenn ich den Zweiten dran hänge RX>TX und TX>RX scheint es so als würden > keine daten empfangen werden. Besitzt du einen Logikanalysator oder ein Oszi, um festzustellen, was dabei auf den Datenleitungen oder anderen GPIOs passiert? Dann könntest du bspw. in der ISR mit einem Pin wackeln, um zu verifizieren, ob der Empfangsinterrupt ausgelöst wird. Ein Break Point verrät dir natürlich auch, ob die ISR angesprungen wird. Hast du dir im Debugger die Flags für die Freigabe des Interrupts angesehen? Oder woran machst du das "scheint" fest? Programmieren ist keine Kernkompetenz vom ChatGPT.
:
Bearbeitet durch User
Pascal G. schrieb: > Ich versuche über UART einen Text von dem einen MC zum Anderen zu senden MC --> Music Casette? Zitat: Die Abkürzung MC hat je nach Kontext verschiedene Bedeutungen. Die geläufigsten sind: Musik & Entertainment: Steht für Master of Ceremonies (Zeremonienmeister). Im Hip-Hop bezeichnet es den Rapper, Entertainer oder die Person, die durch ein Event führt. Motorrad-Szene: Steht für Motorcycle Club (Motorradclub), oft verwendet von klassischen, organisierten Motorrad-Banden. Gastronomie & Handel: Steht umgangssprachlich oft für die Fast-Food-Kette McDonald’s. Namen: Ist in schottischen und irischen Nachnamen (wie Mac) die Kurzform für Son of (Sohn von). Medizin: Kann für Morbus Crohn (eine chronisch-entzündliche Darmerkrankung) stehen.
Wenn es mit Interrupt nicht klappt würde ich einen Gegentest ohne Interrupt (Polling der Statusregister in einer Loop) versuchen. Dann weisst du, ob das Interrupt-Handling fehlerhaft war, oder es woanders scheitert.
Beitrag #8052609 wurde vom Autor gelöscht.
Das Display funktioniert, ich habe eine if Abfrage ob die Datenübertragung beendet ist, danach wird eine variable auf true gesetzt und in der while schleife auf ihre Richtigkeit geprüft. Ist das der Fall soll der String in der 1. Zeile ausgegeben werden. Ansonsten wird ein Standard Text ausgegeben der auch angezeigt wird.
Hans W. schrieb: > Wenn es mit Interrupt nicht klappt würde ich einen Gegentest ohne > Interrupt (Polling der Statusregister in einer Loop) versuchen. Dann > weisst du, ob das Interrupt-Handling fehlerhaft war, oder es woanders > scheitert. Gute Idee, werde das später gleich ausprobieren.
Wastl schrieb: > Die Abkürzung MC hat je nach Kontext verschiedene Bedeutungen. Und dieser Kontext fehlt in in diesem MännerClub / MüllContainer völlig.
Pascal G. schrieb: > wenn ich den Zweiten dran hänge RX>TX und TX>RX scheint es so als würden > keine daten empfangen werden. Nur zur Vollständigkeit: Hast du denn auch Gnd <---> Gnd verbunden? Add: Ansonsten zur Fehlersuche ohne Geräte Test1: LED ein wenn ISR angesprungen wird. Test2: Wenn der µC PWM auf die LED kann, Helligkeit (PWM duty) inkrementieren mit steigendem ›index‹
:
Bearbeitet durch User
Ich kann mich auch nur anschließen und Dir empfehlen, einen 10€ Logic Analyzer zu kaufen. Auch wenn Du momentan noch nicht den Sinn erkennen magst, es wird für derlei Aufgaben dein Lieblingsinstrument werden. Dazu ist es wirklich leicht zu bedienen, bei den heutigen einfachen USB-LA bedarf es keiner großen Einarbeitung. Schau mal ein paar enstprechende Tutorials. Du wirst dann wunderbar beobachten können, was tatsächlich zwischen den beiden Seiten passiert. So etwas wie das hier (nur Beispiel) reicht für den Anfang völlig: https://www.amazon.de/Analyzer-Binghe-Unterst%C3%BCtzung-Sprungdraht-kompatibel/dp/B0D868ST5C
Pascal G. schrieb: > wenn ich die Daten vom ersten MC über des Serial Monitor vom PC auslese > passt alles > wenn ich den Zweiten dran hänge RX>TX und TX>RX scheint es so als würden > keine daten empfangen werden. Jeder Controller hat eine serielle Schnittstelle und du klemmst alle zwei plus PC direkt zusammen ? Wieso brauchst du beim zweiten Controller die Verbindung bidirektional ? Vielleicht verstehe ich es auch nicht wirklich....
Thomas W. schrieb: > Jeder Controller hat eine serielle Schnittstelle und du klemmst alle > zwei plus PC direkt zusammen ? > Wieso brauchst du beim zweiten Controller die Verbindung bidirektional ? > Vielleicht verstehe ich es auch nicht wirklich.... Nein, ich verbinde beide Controller über RX + TX miteinander und nutze eine Externe Spannungsquelle, dementsprechend sollten die meiden Controller ja miteinander kommunizieren. Die Verbindung über USB war nur um zu prüfen ob der erste etwas sendet. oder Funktioniert die Kommunikation da dann anders? Konkret sende ich vom einen Controller eine Zahl die am anderen über das LCD ausgegeben werden soll. PS. das ist nur zum Testen, später sollen da mehrere werte und infos übertragen und ausgewertet werden ;)
Norbert schrieb: > Nur zur Vollständigkeit: > Hast du denn auch Gnd <---> Gnd verbunden? Jap, beide Controller sind über die gleiche Spannungsquelle verbunden, > Add: Ansonsten zur Fehlersuche ohne Geräte > Test1: LED ein wenn ISR angesprungen wird. > Test2: Wenn der µC PWM auf die LED kann, Helligkeit (PWM duty) > inkrementieren mit steigendem ›index‹ werde ich auch mal noch versuchen, danke :) Meine Vermutung ist ja das ich im Code nen Bock geschossen hab(würde mich wundern wenn nicht)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.