Forum: Mikrocontroller und Digitale Elektronik zwei Geräte an einem UART - ist das sauber ?


von Tobias R. (Gast)


Lesenswert?

hallo Forum,

ich verwende in meiner Schaltung den HW UART meines ATmega8 doppelt. 
Soll heissen den RX des yC nutze ich um Daten von einem GPS Modul zu 
empfangen und auf dem TX Port gebe ich Statusmeldungen an meinen PC. 
Damit sind es zwei unterschiedliche Geräte die an dem UART des AVR 
hängen.

Das Ganze funktioniert im Moment eigentlich wie gewünscht. Ich frage 
mich allerdings ob ich das guten Gewissens so machen kann. Oder bau ich 
mir damit jetzt schon zu Anfang meines Projekts einen logischen Fehler 
ein über den ich dann später stolpere?

Grüße
Tobias

von Falk B. (falk)


Lesenswert?

@  Tobias R. (Gast)

>Das Ganze funktioniert im Moment eigentlich wie gewünscht. Ich frage
>mich allerdings ob ich das guten Gewissens so machen kann.

Ja, warum nicht?

MFG
Falk

von aaaaa (Gast)


Lesenswert?

das ist kein Problem. Du musst halt nur beachten, dass dann die 
Sende-Baudrate gleich der Empfangsbaudrate sein muss (außer du willst 
z.B. nicht dauernd sende/empfangsbereit sein, dann kannst es schon 
umstellen).

von Tobias R. (Gast)


Lesenswert?

Danke euch für die schnelle Antwort - ja auf Baudrate und ähnliches habe 
ich natürlich geachtet - funktioniert ja auch so weit ganz gut - wollte 
nur noch mal ne zweite Meinung hören

Danke
Tobias

von raketenfred (Gast)


Lesenswert?

DU musst nur bitte alle GNDs verbinden

//etwas weniger zu dem konkreten Problem:


Wenn du hinterher das Bus-ähnlich aufbauen möchtest: Alle RXD und alle 
TXD zsm auf eine Ader legen, musst du nur dadrauf achten, dass TXD 
Eingang ist, wenn nicht gesendet werden soll.

Ansonsten habe ich das hier @ home mit 2 Geräten über Klingeldraht und 
5m Länge laufen

Habe das aber auch schon mit ein paar mehr AVRs getestet auf nem 
Breadboard.

von Link zu Artikel (Gast)


Lesenswert?

Bei UART Kommunikation gibt´s auch einen (9-bit?) Modus, in dem man per 
Senden eines Adressbytes den gewünschten Kommunikationspartner auswählen 
kann. SWIW wird das teilweise auch von manchen UART-Blöcken 
hardwaremässig unterstützt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Link zu Artikel schrieb:
> Bei UART Kommunikation gibt´s auch einen (9-bit?) Modus

Vorsicht. Diese Betriebsart wird von PC-Uarts nicht unterstützt, auch 
nicht von den auf eigenen PCI/PCIe-Karten oder in USB-Seriell-Bridges zu 
findenden.
Mit aufwendigen Frickeleien lässt sich das Paritätsbit hierfür 
missbrauchen, es muss aber praktisch für jedes einzelne Byte die 
Betriebsart umgeschaltet werden.
Der Empfang solcher Daten ist noch komplizierter, weil hier für jedes 
empfangene Byte die momentan eingestellte Betriebsart und ein 
auftretender Paritätsfehler ausgewertet werden muss.

So praktisch der 9-Bit-Betrieb bei µC- zu µC-Kommunikation ist, so 
vollkommen unpraktisch wird er, sobald irgendwo ein PC involviert ist.

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
Noch kein Account? Hier anmelden.