ATMega8L USART Problem

Gast #318115
Lesenswert?

Ich initialisiere den USART mit diesem Code:

        //2 Stop Bits / 8 Data Bits
  UCSRC = (1<<URSEL) | (1<<USBS) | (1<<UCSZ1);// | (1<<UCSZ0);

  //USART Options
  UBRRH = 0;
  UBRRL = 25; //Baudrate 9600kbit
  UCSRB |= (1<<TXEN); //Enable USART Transiver

Wenn ich ihn auf den µC lade überträgt er nur Fehler über der COM-Port.
Wenn ich in AVR-Studio simuliere setzt er trotz URSEL auch den UBRRH mit
und erzeugt eine falsche Baudrate. Hat jemand eine Idee woran das liegen
kann?
Gast #318118
Lesenswert?

Danke für die schnellen antworten
Ich benutze ein externes 4MHz Quarz.

Wenn ich UCSRC nicht beschreibe, also mit 5bit/1Stopbit arbeite
funktioniert er auch mit 9600 baud.
Ist das normal, dass der Simulator immer beide Register beschreibt und
nicht mit dem URSEL-Bit auswählt?
Gast #318122
Lesenswert?

Moin

Ich bin blöd ich habe immer auf die Stückliste vertraut da stand 4Mhz
drin. Auf dem Quarz steht aber richtig 3.68Mhz. Manchmal ist man so
blind wenn man sich festgefressen hat.

Wie ist das mit dem Simulator ist das Verhalten normal?
Gast #318123
Lesenswert?

Hallo,

ich bin neu hier und bis jetzt habe ich unzählige Beiträge Durchgelesen
and ausprobiert.
Es geht trotzdem nichts. :o(

Mein STK500 mit einem ATmega8 spricht über das RS232 mit mir nicht mit
der Sprach die ich benutze.
Es kommen nur Hiroglifen zurück (sehe Bild).
Das lustige mit AT90S8515 geht es.
Hat jemand eine Idee bevor ich das ganze AVR zeug aus dem Fenster
schmeiße?
Bitte.
Angehängte Dateien:
Gast #318124
Lesenswert?

Das ist nicht lustig, sondern langweilig weil der immer gleiche Effekt.
Der 8515 arbeitet mit externem Takt, er kann nicht anders. Der Mega8
kann anders und tut anders. Solange man ihm nicht beibringt, den
externen Takt zu nutzen (Fuses), arbeitet er mit einem für UART
ungeeigneten internen Takt.
Gast #318125
Lesenswert?

Hallo zusammen,

ich habe eine Frage zu der Ausgangssituation des Thread-Eröffners. Er
gibt an 2 Stopbits zu benutzen.
Für welche Datenübertragungen bringt das einen Vorteil gegenüber einem
Stopbit und warum? Und warum gibt es manchmal sogar die Möglichkeit 1.5
Stopbits auszuwählen?

Mit freundlichen Grüßen
Dumpfi
#318126
Lesenswert?

@Dumpfi

>Er gibt an 2 Stopbits zu benutzen. Für welche Datenübertragungen
>bringt das einen Vorteil gegenüber einem Stopbit und warum? Und >warum
gibt es manchmal sogar die Möglichkeit 1.5 Stopbits >auszuwählen?


Manche Geräte mir RS232-Schnittstellen (z.B. mein 10-Jahe altes DVM)
arbeitet mit solch ungewöhnlichen Übertragungsprotokoll,
muss jedesmal daran denken und alles dementsprechend anpassen   ;(

Bernhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren