zwei unterschiedliche Baudraten für RXD & TXD an Atmega128?

OP #440734
Lesenswert?

Hallo Spezialisten!

Ich baue gerade eine Hardware, bei der ich u.a. mit RFID einen 
MP3-Player steuern muss. Der RFID Leser sendet Daten mit 9200 Baud und 
hängt an RXD0.
Der MP3-Player erwartet mit 19200 Baud gesendete Daten und hängt 
momentan an TXD0 (könnte aber auch an TXD1 angeschlossen werden).

Als Controller verwende ich einen Atmega128, den ich in Bascom 
programmiere. Die Baudraten der Peripherie kann ich leider beide nicht 
ändern.

Nun die konkrete Frage: Kennt jemand eine Möglichkeit, wie ich innerhalb 
eines Programms mit diesen beiden Geräten auf unterschiedlichen 
Geschwindigkeiten kommunizieren kann?

Vielen Dank schonmal für Eure Hilfe,

Niklas
OP #440742
Lesenswert?

Vielen Dank für die schnellen Antworten!

Die _Hardware kann ich gut ändern. Nur wie richte ich eine Software UART 
ein? Kann mir da jemand noch konkreter weiterhelfen? Vielleicht sogar 
mit ein paar Zeilen Code? Bin leider absolut kein Programmierspezialist.

Vielen Dank,

Niklas.
#440744
Lesenswert?

Bascom, was?

Das übliche: in der Hilfe nachschauen.

$BAUD setzt die Baudrate für UART 0
$BAUD1 setzt sie für UART 1

PRINT "test"       sendet den String zur UART 0
PRINT #0, "test"   ebenfalls
PRINT #1, "test"   sendet den String zur UART 1


Zur ersten Zeile in diesem Posting: Ist es wirklich so
schwer in der Hilfe nachzuschauen. Bascom macht einem die
Dinge wirklich einfach, nur lesen muss man noch selber.
Gast #440766
Lesenswert?

Hallo,

wenn nicht gleichzeitig gesendet und empfangen werden muß, sollte 
eigentlich auch nichts dagegen sprechen, zum Senden die Baudrate auf 
19200 umzustellen und wieder zurück auf 9600, wenn er fertig ist mit 
senden.

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren