Übertragungsrate UART

Gast #1920055
Lesenswert?

Ui, das ging schnell.

Also war das mit dem Fehler nur auf die Komm. mit dem PC bezogen?!

Heißt für meine Anwendung mit dem Max490: Max. Ü-Rate 2,5Mbit (brauche 
ich zwar nicht, würde aber gehen?)

Überträgt der ATMega die Daten im Hintergrund (Puffer wird verwendet) 
oder wird das Programm dafür angehalten?

Danke!
Gast #1920057
Lesenswert?

> Die ATMega werden je mit 16MHz betrieben, können diese z.B. problemlos
> mit 500000 Baud kommunizieren?

Einfach ausrechnen: UBRRx = F_CPU /16 /BAUD -1 = 1.6e7 /16 /500000 -1 = 
1
Geht also.

> Da war doch irgenwas mit "Fehler < x%"...

Das ist hier unerheblich sofern beide megas die selbe Baudrate erzeugen 
können (und das können sie wenn sie beide mit dem selben Takt betrieben 
werden).

Allerdings solltest Du noch was anderes bedenken: bei 500kBaud (mit 8n1) 
hast Du gerade mal etwa 320 Takte CPU-Zeit pro Datenbyte. Das reicht 
dicke wenn sonst nichts zu tun ist, wird andernfalls aber schnell eng - 
'nur' Daten rüberschieben ist ja eher langweilig, wahrscheinlich soll 
mit denen auch irgendwas angestellt werden..
Gast #1920067
Lesenswert?

@g457: Also, der Plan ist Folgender:

Beide AVR haben einen eigenen 16MHz-Quarz. Beide senden sich gegenseitig 
(alle 2 Sekunden, keine Ahnung) Informationen, diese sollen im Puffer 
des anderen landen. Wenn ein AVR Daten benötigt, liest er den Puffer 
aus. Dabei ist es egal, wenn er mal die Daten nicht abholt und diese 
durch den anderen überschrieben werden.
Wenn einer wieder Daten braucht, liest er die jeweils zuletzt 
empfangenen  aus.

Klappt das so?

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