Gefunden für baudrate quarz - Zum Elektronik Forum





1 - Probleme mit Baudrate beim ATmega8535 -- Probleme mit Baudrate beim ATmega8535




Ersatzteile bestellen
  Hallo Leute,

ich versuche gerade verzweifelt die Baudrate beim USART vom ATmega8538 einzustellen.
Allerdings scheint diese nicht zu stimmen, obwohl ich laut Datenblatt vorgegangen bin. Übrigens funktioniert diese Initialisierung beim ATmega2560 identisch (außer, dass es da mehrere USARTs gibt).

Der µC läuft mit einem 7,3728MHz Quarz. Ich habe auch schon überprüft ob die Frequenz passt (mit LED und delays). Alles OK.

Code Optimierung ist "-Os"

Ich finde partout den Fehler nicht.

Hier mal die Bibliothek für den USART:

serial.h:

Code :
2 - I2C-Bus Ack + Interrupt unterbrechung -- I2C-Bus Ack + Interrupt unterbrechung
So. 20Meg Quarz drin, Schaltung läuft 5 mal so schnell. Led blinken 5 mal so schnell, insofern alles ok. Baudrate angepasst - Der I2C Bus stürzt nicht mehr ab. Nur die kontroll - LED gehen trotzem aus, d.h. irgend ein komischer undefinierter Zustand tritt trotz allem ein.
Vielleicht haben sich da 2 Probleme gegenseitig überdeckt? ...








3 - Mega8 programmieren -- Mega8 programmieren

Zitat : Das braucht man perl nicht sagen. Der kennt die auswendig, alleSchön wär's


Zitat : Höchstens vielleicht für Uhren oder sehr hohe Baudraten (der UART), wo das Schwingen prinzipbedingt extrem genau sein muss.

Aber auch da würde ich erstmal einige Quarze selektieren.Für UARTs, gleich welcher Baudrate, reicht es die Frequenz auf 5% genau einzuhalten, denn der Empfänger kann sich ja nach höchstens 10 Bit neu synchronisieren. Dafür braucht man eigentlich keinen Quarz, denn die in heutige Prozessoren eingebauten RC-Oszillatoren sind genau genug.
Ohne Abgleichmöglichkeit und ohne genaue Auswahl de...
4 - Projekt Tastatur in Morsecode umwandeln -- Projekt Tastatur in Morsecode umwandeln

Zitat :
cholertinu hat am 18 Jun 2008 10:11 geschrieben :
Für serielle Kommunikation ist ein genauer Systemtakt sehr hilfreich.
Klar, bei 1200Baud sind da keine Probleme zu erwarten.

Die zulässige Abweichung der Taktrate ist unabhängig von der Baudrate ein prozentualer Wert. Falls man die genaue Baudrate durch entsprechende Teilung nicht hinbekommt, addieren sich die Fehler natürlich.

Ich weiß nicht wie es bei Atmels ist, aber bei meinen PIC-Anwendungen hat der interne Oszillator bislang immer genug Genauigkeit für serielle Kommunikation und andere Sachen gehabt. Selbst mit Kältespray und Heißluftfön war der Oszillator nicht nennenswert aus dem Takt zu bringen. Ich hatte erst zwei Anwendungen, bei denen es wirklich genau sein musste und dafür einen Quarz, bzw. einen hochgenauen Oszillator genommen.

Ansonsten verzichte ich gerne auf die zusätzliche externe Beschaltung.

Gruß,
Ltof ...
5 - 152-154Khz Erzeugen -- 152-154Khz Erzeugen

Für Baudraten, nimm besser einen Quarz.
Mit etwas Glück findest du für ein 2^n Vielfaches der Baudrate einen Quarz, dann reicht ein CMOS IC 4060 als Oszillator und Teiler aus....
6 - Serieller Empfänger mit AVR + BASCOM -- Serieller Empfänger mit AVR + BASCOM
hi

danke für den schaltplan. nun bin ich schon etwas weiter.
allerdings steige ich in der bascom hilfe nicht so ganz durch. ich weiß nicht nach was ich suchen muss. könntest du mir bitte einen TIP geben???



Majuz

EDIT: habe gerade ein programm auf www.rowalt.de gefunden das mir helfen könnte:

'004.BAS: UART-Empfänger ohne Interrupt
'Hardware: MAX232 an PD0/PD1, Nullmodemkabel zum PC
'---------------------------------------------------
$Regfile = "2313def.dat" 'AT90S2313-Deklarationen
$Crystal = 3686400 'Quarz: 3.6864 MHz
$Baud = 9600 'Baudrate der UART: 9600 Baud

Dim i As Byte

Do
If USR.RXC = 1 Then 'Wenn Byte empfangen...
i = UDR 'Byte aus UART auslesen
Select Case i
Case "H"
Print "Hallo AVR"
Case "h"
Print "hallo avr"
Case Else
Print "Unbekannter Befehl"
...
7 - AVR 2313 direkt vom RS 232 byteweise mit daten versorgen -- AVR 2313 direkt vom RS 232 byteweise mit daten versorgen
So, aber nu. Als 1. solltest du Bascom sagen was du für einen µC einsetzen willst. Das sieht so aus:
$regfile = "2313def.dat"
Nun der Quarz:
$crystal = 8000000
Und die Baudrate:
$baud = 9600
An dieser Stelle und vor allen anderen Variablen sollte das Uart-Buffer eingerichtet werden. Der Vorteil liegt darin, dass der zu verwendete Speicher gleich am Anfang des Ram liegt.
Config Serialin = Buffered , Size = 4
Nun kommen deine Variablen:
Dim Var1 As Byte
Dim Var2 As Byte
Dim I As Word
Den Interrupt einschalten:
Enable Interrupts
Nun wird von der Uart gelesen:
Inputhex Var1
Die gelesenen Daten werden in das Buffer geschrieben und da willst du ja rann.
Das geht aber nur, wenn -Config Serialin = Buffered , Size = 4- gleich am Anfang des Programms steht, oder du bemühst den Simulator um nach ...
8 - Gute Idee?!? µC proggen mal ganz einfach! -- Gute Idee?!? µC proggen mal ganz einfach!
Hi,

sorry, aber ich halte den Ansatz für falsch. Wenn man einen MC programmieren will, muss man wohl oder übel das Handbuch lesen.
Was hat der überhaupt an Peripherie drinne? Welche Ports kann ich wie benutzen? WElche Baudrate erlaubt der UART mit welchem Quarz ...
Wenn man das gelesen und kapiert hat, ist imho der AVR Assembler schon recht schnuckelig.
Die AVR Befehle sind an sich ja auch schon recht logisch - sie wurden meines Wissens nach in Zusammenarbeit mit Compilerbauern (na wer wohl) festgelegt...

DoS

[ Diese Nachricht wurde geändert von: dos6510 am  7 Jun 2003 18:36 ]...

Nicht gefunden ? Eventuell gibt es im Elektroforum Transistornet.de für Baudrate Quarz eine Antwort
Im transitornet gefunden: Baudrate Quarz


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 8 Beiträge im Durchschnitt pro Tag       heute wurden bisher 11 Beiträge verfasst
© x sparkkelsputz        Besucher : 192596950   Heute : 6068    Gestern : 7576    Online : 252        16.8.2026    21:57
3 Besucher in den letzten 60 Sekunden        alle 20.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ----
xcvb ycvb
0.0219919681549