Muss man nach Serbaud() noch etwas machen?

Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Muss man nach Serbaud() noch etwas machen?

 · 
Gepostet: 20.10.2010 - 16:47 Uhr  ·  #1
Ich versuche einen Mega1284 mit 10 MHz im Programm mit Serbaud(57600) umzustellen.
Danach sendet der Uart nicht mehr, erst ein Reset bringt ihn wieder zum Leben.

Voreingestellt wird er mit
SerPort = 38400, Stop2, Timeout;



Muss ich noch etwas beachten wenn ich die Geschwindigkeit zur Laufzeit ändere? Verzögerung oder so etwas?

Louis
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: Muss man nach Serbaud() noch etwas machen?

 · 
Gepostet: 20.10.2010 - 18:05 Uhr  ·  #2
Hallo Louis,

nicht jede Baudrate lässt sich mit jedem Prozessor Clock realisieren! :devil:

rolf
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Muss man nach Serbaud() noch etwas machen?

 · 
Gepostet: 21.10.2010 - 09:37 Uhr  ·  #3
Das ist mir bekannt, aber 57600 sollte bei 10 MHz gehen, 1,4% Fehler sind noch akzeptabel oder nicht?
Das ist besser als die 1,7% die ich bei 38400 habe. Wenn ich in den Defines 38400 einstelle läufts prima, nur wenn ich zur Laufzeit auf 57600 erhöhe überträgt es nur noch Müll. Daher war die Frage ob ich da noch etwas beachten muss.
Geplant war, die Übertragung für kurze Zeit zu erhöhen, da ich viele Daten übertragen muss und das schneller gehen soll als mit den 38400.

Kann ich mit Serbaud eigentlich auch nicht-konventionelle Baudraten einstellen?
Bei 10 MHz wäre z.B. 62500 oder 78125 Baud mit 0% Fehler zu haben.

Ein guter Rechner findet sich übrigens unter http://www.wormfood.net/avrbaudcalc.php

Louis
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Muss man nach Serbaud() noch etwas machen?

 · 
Gepostet: 27.10.2010 - 16:42 Uhr  ·  #4
Ich wollte kurz berichten, dass es geklappt hat. Übertragung läuft mit 10 Mhz Takt bei 321500 Baud fehlerfrei auf einem Mega1284.
Dabei ist der PC über ein FTDI FT232RL an den Uart angebunden.
Warum das bei den ersten Versuchen nicht lef weiss ich nicht, könnte auch am PC gelegen haben.

Louis
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 14 · Cache Hits: 14   81   95 · Page-Gen-Time: 0.023479s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI