kann man eigentlich mehrere ATmega's parallel am UART betreiben? Ich will den PC über einen MAX232 an zwei ATMega32 anschliessen. Geht das?
Hi, Unidirektional kein Problem: TXD von Rechner (natürlich erst nach MAX232) in die zwei RDX. Dann empfagen beide gleichzeitig. Wenn das nicht gewünscht ist, dann wird es komplizierter. In die andere Richtung müßtest Du dafür sorgen, daß nur einer der AVRs gleichzeitig sendet. Der andere muss in den HighZ Mode. Das könnte auch problematisch werden. Schaltungstechnisch wär ein Umschalter am einfachsten, die Frage ist nur, wie Du umschalten möchstest.... Von Hand ? Dann tut es ein Schiebeschalter (2xum glaub ich). Vom PC aus ? Oder von einem der ATMELs ? Gruß Niels
Softwaremässig kann ich ausschliessen das beide gleichzeitig senden. Muß der Andere trotzdem in den HighZ -Mode? Warum?
Eine sichere, aber softwaremäßig etwas aufwendigere Sache wäre: PC TXD an (Pegelwandler mal weggelassen) RXD1, TXD1 an RXD2, TXD2 an PC RXD. MW
eine einfache Methode: die beiden TxD-Ausgänge AND-verknüpfen. Entweder mit einem echten AND-Gatter oder 2 Dioden und einem Pullup-Widerstand. Ganz ohne externe Hardware: Transmitter disablen und den TxD-Pin hochohmig setzen (DDRx=0, PORTx=0).
Beim 8051 gibt es einen Multiprozessormodus, den sollte der AVR auch haben. Das 9.Bit wird dann als Adress-Kennungsbit verwendet. Wenn es gesetzt ist, ist das Datum eine Adresse, die dann der UART vergleicht und bei Übereinstimmung dann das nächste Datum übernimmt. Ist kaum Aufwand in der Software.
OK, danke für eure Antworten... dann werd ich mich mal an die Hardware machen :-)
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.