Servus Allesammt :) Hoffe ihr habt alle einen schönen letzt Tag, morgen ist ja angeblich alles vorbei. ;) Genau aus diesem Grund muss ich jetzt noch dieses eine Verständnisproblem lösen, dann kann die Welt untergehen.^^ Um es kurz zu machen. Ich habe einen ATMEGA2560, sende diesem über UART Daten bei einer Baudrate von 57.6k Baud und er wird mit 16MHz getaktet. Die Formel aus dem Datasheet ergibt nun für diese beiden Werte einen Fehler von 2.1% (siehe Datasheet). Fehler_Baudrate [%]=((UBRR_gerundet+1)/(UBRR_genau+1)-1) Jetzt kann ich den ATMEGA2560 in den "Double Speed Operation Mode" setzten in dem ich im Status Register UCSRnA das Bit für U2Xn setzte. Dadurch halbiert sich der Divisor für die Formel für UBRR von 16 auf 8 UBRR_n=f_osc/(16*Baud)-1 Dadurch verdoppelt sich meine Transfer Rate und wenn ich jetzt den Fehler berechne komm ich auf 0.8% (siehe Datasheet). Ok,das versteh ich soweit alles. Ich Taste nun also mit doppelter Geschwindigkeit ab. Für den für UBRR berechneten Wert X (oben Transfer Rate genannt), wird nun ein Bit für X Prozessortakte abgetatstet bzw. auf die serielle Leitung gelegt, oder? Rundet der ATMEGA den Wert X auf oder schneidet er ihn hinten ab? Ich würde gerne nur wissen ob ich das soweit alles richtig verstanden habe :) und das mit dem aufrunden/abschneiden.
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.