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
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.
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
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 !!!
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
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.