Baudraten größer 9600 gehen nicht?!

Hallo Arduino - Gemeinde!

Ich bin blutiger Arduino-Anfänger. Mein Thema ist eigentlich "Arduino im Modellbau" aber ich experimentiere gerade einmal mit der Kommunikation über USB/Serial zwischen meinem Arduino UNO SMD und dem "Serial Monitor" am PC. Wenn ich am Serial Monitor 9600 Baud einstelle und auch im Sketch "Serial.begin(9600);" setze, funktioniert das auch.

Wenn ich aber versuche, im Sketch und im Serial Monitor eine höhere Baudrate zu setzen, z.B. Serial.begin(14400), bekomme ich mein "Hello World" vom Arduino nur als "Schmutzzeichen" dargestellt.

Andererseits kann ich im Serial Monitor auch 14400 einstellen wenn ich im Sketch "Serial.begin(9600);" gesetzt habe und die Ausgabe funktioniert trotzdem.

Habe ich einen Denkfehler oder geht da bei Euch auch nur 9600 Baud oder hat bei mir die Infrastruktur einen Fehler??

Grüße
Gernot

hi,

sollte eigentlich nicht sein, aber der serial monitor ist nicht der weisheit letzter schluß. probier mal ein gratistool wie hterm.

gruß stefan

Gerpix:
Wenn ich aber versuche, im Sketch und im Serial Monitor eine höhere Baudrate zu setzen, z.B. Serial.begin(14400), bekomme ich mein “Hello World” vom Arduino nur als “Schmutzzeichen” dargestellt.

In der IDE gibt keine Möglichkeit, eine BAUD von 14400 einzustellen.
Mit welchen Seriellen Monitor testest du? Normalerweise sollten Baud 4800, 9600, 14400, 19200, 28800, 38400, 76800 ohne Probleme gehen. Von anderen Baudraten (zB. 57600 und 115200) ist eher abzuraten, da dort die Fehlerrate bereits über 2% liegt.

hi, stefan,

das hängt glaube ich, von der version der IDE ab. bei meinem seriellen monitor von der version 1.0.5 kann ich 14.400 einstellen.

gruß stefan

Okay. Das ist gut möglich, hab gerade nur die 1.5.8 drauf für diverse Tests.

Ich verwende die IDE Arduino 1.0.6 und deren seriellen Monitor.

Rechner läuft unter Windows 8.1. Könnte ich ein Treiberproblem haben? (Ich habe für diverse Modellbau-devices (Sender, Empfänger, Sensoren) verschiedene USB-Serial-Interfaces mit individuellen Treibern im Einsatz.)

Im Gerätemanager finde ich zum Arduino:

Treiberanbieter: Arduino LLC (www.arduino.cc)
Treiberdatum: 04.01.2013
Treiberversion: 1.0.0.0
Signaturgeber: Arduino LLC

Treiberdateien: C:\Windows\system32\DRIVERS\usbser.sys

..... sieht aber plausibel aus!

hi,

http://forum.arduino.cc/index.php?topic=252445.0

es ist kein problem des arduino. die 14400 funtionieren, nur der monitor kann nicht darauf eingestellt werden. der bleibt bei 14400 und 28800 bei 9600 stehen.
verwenden kannst Du die taktraten ohne weiteres, nur nicht mit dem serial monitor.

gruß stefan

OK, danke! :slight_smile: :slight_smile:

Ich habe inzwischen weiter experimentiert und selbst festgestellt, dass genau 14400 und 28800 nicht funktionieren, alle anderen Baudraten gehen.

Hatte gestern dummerweise ausser 9600 genau die nicht funktionierenden ausprobiert .....

Wenn dir 9600 nicht reicht, macht es sowieso eher Sinn, gleich 57600 oder 115200 einzustellen. :wink:

Ist, soviel ich weiss, ein Problem der verwendeten veralteten RxTxcomm java Bibliothek oder der dazugehörigen rxtxSerial.dll.
( Bzw. ein Problem des SerialMonitor, diese Baudraten trotzdem anzubieten. )

http://forum.arduino.cc/index.php/topic,252445.0.html

Ich weiß jetzt nicht, ob die Arduino Serial Bibiothek auch U2X im async Modus unterstützt. Wenn ja umso besser. WormFood's AVR Baud Rate Calculator Ver. 2.1.0

57600 ist da nicht wirklich die beste Wahl.Fehlerrate > 2% ohne U2X. Nutze selber meist nur die 9600 oder 38400. Vorteil, beide sind doch sehr wenig fehlerbehaften bei meinen unterschiedlichen Atmega/Attiny Typen. Benutzt wird hauptsächlich 8MHz int. Oscz (Attiny841) oder ein Resonator 16MHz für die Megas.

Funktionieren werden aber auch die hohen Geschwindkeiten. Ist halt nur die Frage, wie hoch man das Risiko setzen möchte,das Daten fehlerhaft übertragen werden.

Das wird aber eher daran liegen, dass die Baudrate von einem 16MHz Quarz abgeleitet ist. Was bei den Standardwerten nicht ganz aufgeht.

Hier wären gerade Werte zuverlässiger. Mit einem selbst geschriebenen Programm auf dem PC gehen auch problemlos 250.000 und 500.000

Das ist soweit schon klar. Ein selbst geschriebenes Programm ist dafür nicht von nöten. Putty oder andere COM Terminals reichen da auch. Wobei man immer bei diesen Baudraten 250000 ...) immer aufpassen muss. Viele Geräte haben meist nicht die Möglichkeit, benutzdefenierte Baudraten zu bestimmen. Beispiel Bluetooth HC05. Dort können nur bestimmte Baudraten ausgewählt werden.

Hallo,

ich nutze schon seit über einem Jahr nur noch 57600 Baud. Die Baudraten sind doch standardisiert?

Edit: hab mal gegoogelt, okay, dass hängt von dem Ergebnis eines UBRR Wertes ab. Wie stark der von seinem ganzzahligen Wert abweicht in seiner eigenen Kommastelle.

Doc_Arduino:
Hallo,

ich nutze schon seit über einem Jahr nur noch 57600 Baud. Die Baudraten sind doch standardisiert?

Edit: hab mal gegoogelt, okay, dass hängt von dem Ergebnis eines UBRR Wertes ab. Wie stark der von seinem ganzzahligen Wert abweicht in seiner eigenen Kommastelle.

Mit 57600 haste dir einer der schlechstesten Baudraten rausgesucht :stuck_out_tongue_closed_eyes:

Für 16MHz gerade noch aktzeptabel, bei 8MHz aber schon eine kleine Katastrophe
http://www.wormfood.net/avrbaudcalc.php?postbitrate=9600&postclock=16&u2xmode=1&hidetables=1
http://www.wormfood.net/avrbaudcalc.php?postbitrate=9600&postclock=8&u2xmode=1&hidetables=1

Mit 57600 haste dir einer der schlechstesten Baudraten rausgesucht :stuck_out_tongue_closed_eyes:
Für 16MHz gerade noch aktzeptabel, bei 8MHz aber schon eine kleine Katastrophe

Hallo,

die Vergangenheit holt einen immer wieder ein ... :grin:
Siehe Seite 1 ganz unten. :grin:

Habs jetzt aber auf 38400 eingestellt. :wink: Weil das gesamte Teil später ins Auto soll und dort große Temperaturschwankungen sind. Dabei kann ja der Quarztakt auch schwanken und wenn man im www weiter liest, soll sich das auf die serielle Übertragung durchschlagen. Manche schreiben max. 2%, andere wiederum max. 1%. Naja, 38400 ist unter 1%. Sollte später dauerhaft funktionieren, hoffe ich.

:wink:

Es heißt ja nicht, dass 57400 komplett falsch ist :wink: Liegt ja auch noch unter der 1% Hürde.

Hallo,

57400? Das BT Modul kann nur 57600. Man muß ja aus vordefinierten Werten auswählen.

War nur nen Typfehler 8)

Hallo,

ich denke der Fehler ist laut der Tabellen im Netz bei 2,1%. Wenn der bei 0,8% liegt, verstehe ich die gesamte Aufregung nicht.