Forum: Mikrocontroller und Digitale Elektronik mega8 uart


von Andy (Gast)


Lesenswert?

Hallo.Ich programmiere einen mega8 in assembler.Der mega soll mit einem
2313 über uart Daten austauschen.Auf dem mega läuft ein programm mit
tastenabfragung,pwm usw,alles mit intern 8mhz frequens.Alles
wunderbar.Nur das uart funktioniert so nicht.Stelle ich die fuses auf 8
mhz Chrystal und häng den Quarz dran,funktioniert alles super.Habe
sämtliche Einstellungen für intern ausprobiert,alles klappt,nur das
uart nicht.Wodran kann das liegen?Ist die interne frequenz zu ungenau?
Ich bräucht die xtal pins als eingänge.
Wäre super,wenn mir jemand helfen könnte.
Gruss
Andy

von Tim Hilden (Gast)


Lesenswert?

wieso haengst du einen quarz dran, wenn du doch den internen
Frequenzgenerator benutzen willst? entweder die fuses auf interne 8mhz
stellen, oder auf externen quarz und den dann dranhaengen

von Andy (Gast)


Lesenswert?

Ich habe ja intern alles probiert,damit funktioniert das uart nicht.Nur
mit einem externem Quarz klappts.Programm wird nicht verändert,also
kanns daran nicht liegen.
Gruss
Andy

von Tobi (Gast)


Lesenswert?

hast du den internen kalibriert?

von Thorsten (Gast)


Lesenswert?

Die interne Frequenz kann unter Umständen zu ungenau sein. Du kannst den
glaube ich mit den vier calibration bytes abgleichen, näheres kann ich
dir aber nicht sagen. Bisher haben alle meine Megas mit internem 8MHz
Oszillator problemlos die 38400 Baud geschafft.

Thorsten

von Andy (Gast)


Lesenswert?

Hallo.Wie kalliebriert?Bis jetzt lief er mit den Einstellungen die ich
vorgenommen hatte wunderbar(PWM und so weiter.)Das ist ja das
seltsame.
Alles klappt mit dem internem ,nur das uart nicht.
gruss
andy

von Tobi (Gast)


Lesenswert?

das uart braucht recht genaue frequenzen. wenn der fehler zu gross ist
gibts sync probleme. die calib bytes kann man nicht direkt aus dem
programm ansprechen. man muss sich die/das das man braucht irgendwo vom
programm aus errreichbar speichern. codebeispiele zum kalibrieren gibts
mehrere in der codesammlung

von Pascal (Gast)


Lesenswert?

sicher, dass der ATMEGA8 intern mit 8MHz läuft??
wenn ich mich jetzt nicht sehr täusche, lief der bei mir mit 1MHz, hab
das zumindest immer zum Berechnen der Baudrate verwendet und es
funktioniert...

von Markus (Gast)


Lesenswert?

Der Mega8 läuft ab Werk mit dem internen 1MHz Oszillator. Das ist aber
nicht der einzige Takt, den der interne Oszillator beherrscht. Man kann
ihn auch auf 2, 4 oder 8MHz einstellen. Details gibts im Datenblatt
unter System Clock und Clock Options/Calibrated Internal RC
Oscillator.

Markus

von Pascal (Gast)


Lesenswert?

cool, danke, wusst ich gar nicht
dann kann ich ja die 4MHz Quartze komplett aus meinen Schaltungen
weglassen...

von Tobi (Gast)


Lesenswert?

wenn du irgendwo für einen genauen takt brauchst (zeitmessung etc) führt
kein weg an einem externen quarz vorbei. der interne ist einiges
ungenauer

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.