Klar entsteht dort en Konflikt, der läßt sich über Software aber auflösen.
Gruß, olfi
Hallo
Ich muss zwei UART Sender mit einem ATMEL auswerten...
Der eine Sender schickt ca. alle 1s Daten. Der andere schickt Daten, bei Tastendruck des Senders...
Nun weiss ich nicht ob ich einen normalen MEGA16 nehmen kann und beide Datenleitungen auf den RX-Pin hängen kann, oder ob bei gleichzeitigem Senden beider Module ein Konflikt entsteht...
Wäre es besser einen MEGA162 mit 2UART´s zu nehmen??
Merci
Klar entsteht dort en Konflikt, der läßt sich über Software aber auflösen.
Gruß, olfi
Und wie würde das gelöst???
Anhaltspunkte?
Eine Möglichkeit:
Der Sender der etwa 1mal pro Sekunde sendet dient quasi zum Triggern.
Der 2.te hört am Bus, ist der erste fertig, sendet er seine Daten.
Andere Möglichkeit: Beide senden dauernd, aber abwechselnd.
Noch eine Möglichkeit: Wenn die Sender nicht zu weit auseinander sind und die Verbindungsleitungen es erlauben regelt der Atmel als Master den Datenverkehr über Ausgänge die dem jeweiligen Teilnehmer das Senden freigeben.
Es kommt auf die Anwendung an welche Möglichkeit die Beste ist. Es gibt sicherlich noch mehrere.
Also eine Frage des Protokolles.
Hoffe, es reicht als Anregung,
Grup, olfi
Hallo olfi
Danke für deine Tipps
Leider lassen sich die Sendevorgänge meiner Sender nicht Regeln, da sie "unkontrolliert" senden...
Nun denke ich dass die Methode mit dem ATMEGA162 besser ist. Hat da schon jemand Erfahrungen gemacht?
Gibt es sehr grosse Änderungen an der Programmierung, oder ist ein Umstieg einfach?
Thanks
Ich werde im Datenblatt vom ATMEGA162 einfach nicht schlau, wie ich jetzt zwischen den beiden UART's wählen kann...
Empfang ist klar, da es zwei verschiedene Interrupts gibt.
Jedoch verstehe ich das Senden nicht ganz...
Wie kann ich wählen, ob ich jetzt über TXD0 oder TXD1 senden kann?
UDR1/UDR0???
Hoffe jemand kann mir helfen...
Genau.Zitat von surfer
Es gibt halt alle Register zweimal, ansonsten ist die Ansteuerung aber fast genauso wie bei einem AVR mit nur einem UART.
MfG Kjion
Aha. Also mit allen UART Registern?
Z.B. dann auch UCSRA1 UCSRB1 / UCSRA0 UCSRB0 etc.?
Dann finde ich es einfach ein bisschen merkwürdig dass nichts im Datenblatt steht, oder habe ich etwas übersehen???
Die Regiser sind nämlich nicht so deklariert...
Gleich auf der ersten Seite zum USART steht doch sowas:Zitat von surfer
In der Registertabelle auf Seite 273 sieht man es dann auch. Da sind jeweils die Register für jeden UART Kanal aufgeführt.USART0 and USART1 have different I/O Registers as shown in “Register Summary” on page 272.
MfG Kjion
OK
Danke!
Lesezeichen