Forum: Mikrocontroller und Digitale Elektronik ATMega8L USART Problem


von Merten Sach (Gast)


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?

von A.K. (Gast)


Lesenswert?

Taktquelle?

von Bernhard S. (bernhard)


Lesenswert?


von Merten Sach (Gast)


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?

von Hannes L. (hannes)


Lesenswert?

Warum nimmst du eigentlich keinen baudratentauglichen Quarz?

...

von Merten Sach (Gast)


Lesenswert?

Mein Board mit dem AVR ist mein Einstiegsboard, ein MyAVR. Ich habe
gerade keine anderen Quarze zur Hand.

Mit dem Demoprog das dabei ist funzt der USART. Ich verzweifle bald.

von Patrick (Gast)


Lesenswert?

Hi Merten,

bist du sicher, dass auf deinem myAVR board ein 4MHz Quarz ist, oder
hast du die 3,6864MHz grosszügig gerundet?

von Merten Sach (Gast)


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?

von Rafael Stolarczyk (Gast)


Angehängte Dateien:

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.

von A.K. (Gast)


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.

von dumpfi (Gast)


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

von Bernhard S. (bernhard)


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

von dumpfi (Gast)


Lesenswert?

@Bernhard

danke für deine Antwort. Ich habe mir da einfach keinen Reim drauf
machen können.

Gruß
dumpfi

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
Noch kein Account? Hier anmelden.