Hallo Leute kann mir jemand einen Tip geben mit welchem quarz ich eine Baudrate von 19200 am ehesten hinbekomme? Hab irgendwie bei dieser Einstellung Probleme. Benutze einen Atmega8 Danke im vorraus für die Hilfe :-)
Für die herkömmlichen Baudraten funktionieren alle geraden Quarze (1, 2, 4, 8, 16 MHZ) ganz gut, ansonsten siehe vorigen Beitrag.
Hallo Huub, am einfachsten sind folgende Frequenzen : 3,686411 und die Vielfachen davon z.B: 7.372822....11,059233...usw @Erwin : Find ich toll, daß du alle 270 Seiten vom Datenblatt auswndig kannst ! felack
"Für die herkömmlichen Baudraten..." 115200 Baud ist also nicht herkömmlich ? Besser: Für kleine Baudraten sind die Rundungsfehler bei Quarzen mit glatten MHz-Werten oft tolerierbar. Für herkömmliche Baudraten sind Standardquarze zu empfehlen (2,4576MHz, 7,3728MHz, 11,0592MHz usw.). Peter
@Peter Dannegger Najaa, hab da ´n bisserl was durcheinandergewürfelt, weil ich halt in letzter Zeit genau für 19,2kBaud Module gebaut habe, die mit exakt 8Mhz laufen und bei 0,2% Error von der Nominalfrequenz absolut zuverlässig gehen. Desweiteren können sie bei dieser Frequenz auch MIDI (31,25kBaud) mit 0% Error... Sicher ist man gut beraten, sich die Baud-Tabellen im Datenblatt anzuschauen, wenn man weiß, was man bauen will und welche Baudraten das Gerät beherrschen muß.
@felack
Man muß kein Datenblatt auswendig können sonder nur das
Inhaltsverzeichnis lesen können: UART -> Examples of Baud rate settings
-> übersichtliche Tabelle
@Peter
> 115200 Baud ist also nicht herkömmlich ?
Nein, ist nicht herkömmlich. Diese Baudrate wird im Hobbybereich selten
benutzt.
Gruß
Jens
Dann hast du einfach nur Glück, denn 115200 Baud bei 16MHz ergibt ein Fehler von -3.5%.
Ich versteh nicht, dass die bei den AVRs noch keinen Modulator für die Baudrate wie beim MSP eingebaut haben. Damit kann ich auch nicht ganzzahlige Teiler recht genau erreichen.
>Fehler von -3.5%
Dennoch kommen alle Bytes nicht ohne verfälscht zu sein an. Senden
funktioniert auch.
Ich habe es mit 2 verschiedenen Rechnen ausprobiert.Ich habe keine
Fehler bei der Übertragung feststellen können.
Ich sag ja, du hattest Glück. Ich hatte schon Verbindungen, die bei 1.5% nicht funktionierten.
Die Fehler der einzelnen Bits addieren sich auf, bei 3,5% Fehler entsteht beim Stopbit bereits eine Verschiebung von 35% Welche Baudrate-Toleranzen zulässig sind, steht im Datenblatt (mega16: S.158). Beachten muss man, dass die Toleranz für das Gesamtsystem gilt, also Sender UND Empfänger. Atmel ist da übrigens recht großzügig, bei anderen mc habe ich schon Angaben zwischen 1% und 1,5% gesehen. Stefan
Man kann auch mal das 2X Bit, oder wie das heißt, einschalten. Dann muss man nicht durch Baud*16 sondern durch Baud*8 teilen. Kann schon was bringen. So beträgt bei 12MHz und 2X de Wert, der einzutragen ist, 12,021.
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.