mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bus System über UART


Autor: ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich habe folgendes Problem, ich möchte mehrere AVR´s über die UART
miteinander verbinden. Dafür habe ich alle rx miteinander verbunden und
gehe damit auf den MAX232. Empfangen geht so nun auch! Nur wenn ich
einen Slave auf eine Anfrage vom Master senden lassen möchte bekomme
ich "Müll" auf der RS232! Ich habe an die TX Leitung der AVR´s
jeweils eine 1n4148 mit Kathode zum AVR hingerichtet mit eingebaut. Am
TX eingang des MAX232 habe ich einen 4k7 Pullup mit reingehängt. Wenn
ich nur einen AVR im system habe und lasse den senden klappt es. Doch
sobald mehr als einer am BUS hängt klappt nur noch das empfangen und
das antworten auf anfragen vom master geht nicht merh bzw. es kommt nur
noch "Datenmüll". Ich vermute das Problem liegt an der HW. Ist meine
Überlegung mit der Diode und dem Pull up flasch !? Ich hoffe mir kann
jemand bei meinem Problem helfen!

Danke im Vorraus

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im Prinzip ist das so richtig und funktioniert auch. Du musst allerdings
sicherstellen, dass wirklich nur einer sendet - sobald es 2 oder mehr
versuchen, gibts logischerweise Müll.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte funktionieren. Ich mache genau dasselbe, drei Mega8 mit drei
Dioden und 4.7k an einem RS422 Wandler und es funktioniert ohne
Probleme.
Du musst natuerlich in deiner Software sicherstellen das die Burschen
nur antworten wenn sie gefragt werden.

Olaf

Autor: ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mmhh ok das Problem könnte natürlcih auch daran liegen das ich das ganze
in BASCOM g programmiere .... Ich habe jetzt mal einen Controller so
programmiert das er ständig Print"Hello" an den PC schickt. Der
andere läuft die ganze Zeit in einer Schleife und macht nur INPUT
variable. wenn nur der sendende dran hängt - klappt das und ich bekomme
das Hello. Sobald ich den anderen dran hänge, der eigentlich nur
mithören sollte - kommt müll! Aber die HW lösung mit den Dioden und dem
einen Pull UP sollte so in ordnung sein !?

danke für die SCHNELLEN antworten !!!

Autor: ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich glaube ich habe das Problem nun eingegrenzt! Ich denke es liegt
an BASCOM! Wenn ich bei Bascom mit INPUT Var z.b. ein Variable vom Typ
BIT einlese, dann kann ich im Terminal auch nur ein zeichen senden die
Eingabe wird dann blockiert! Ich kann dieses Zeichen dann nur noch
durch betätigen von ENter an den µC senden. Dies bedeutet ja das Bascom
bei Input gleichzeitig irgendwas zurücksendet an den PC damit der weis
wieviele Zeichen er senden darf. (ich hoffe das ihr mich versteht g)
Nun müsste diese Funktion im Bascom programm ausgeschaltet werden. Nur
wie ???

danke

Autor: Thorsten Lauf (tlauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*aboniert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.