Forum: Mikrocontroller und Digitale Elektronik ATmega162 zeigt an UART nur Müll


von TeZett (Gast)


Lesenswert?

Hallo,

ich habe ienen ATmega162 hier, der mit dem Print-Befehl nur Hyroglyphen 
im Terminalfenster anzeigt.
Habe schon diverse Baud- und Crystaleinstellungen probiert, ist aber 
immer dasselbe.

Da ich bisher nur AT90S7515 programmiert habe (da läuft alles 
wunschgemäss) bin ich nun etwas ratlos - ich denke aber, dass ihr mir 
helfen könnt.


Gruss
TZ

von Flo (Gast)


Lesenswert?

Jo also wie siehts aus?
Baudrate? Quarz? Eventuell ein bisschen Code? Vieleicht n Schaltplan?
Was wird gesendet? Was wird empfangen?
Erst das Quiz beantworten, dann gibt möglicherweise ne Chance auf Hilfe.

von TeZett (Gast)


Lesenswert?

Hallo Flo,

&baud 19200 - 115200 probiert in Kombi mit
Crystal 1000 - 16000 in 1000er Schritten.

Ausgabe erfolgt mit Print "xyz"

Gruss
TZ

von Karl H. (kbuchegg)


Lesenswert?

TeZett schrieb:
> Hallo Flo,
>
> Crystal 1000 - 16000 in 1000er Schritten.

Ähm.
Du sollst da nicht durchprobieren, sondern den Wert einstellen mit dem 
der µC tatsächlich läuft. Welcher das ist, steht auf dem Quarz drauf 
(sofern der aktiviert ist)

> &baud 19200 - 115200 probiert in Kombi mit

Auch das probiert man nicht durch, sondern man stellt einen Wert auf dem 
µC ein und stellt den gleichen Wert auf dem PC ein.

von spess53 (Gast)


Lesenswert?

Hi

>&baud 19200 - 115200 probiert in Kombi mit
>Crystal 1000 - 16000 in 1000er Schritten.

Was gibt es da zu probieren?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Und noch ein Tip.
Die Taktfrequenz deines µC ist mit Sicherheit größer als 16000. Mit 
16kHz wurden CPU's getaktet als Zuse den ersten gebaut hat - kurz nach 
dem 1. Weltkrieg.

von Falk B. (falk)


Lesenswert?

http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART

Dran halten, solide durcharbeiten, Problem gelöst.

MfG
Falk

von TeZett (Gast)


Lesenswert?

Ja nee, ist klar - die EInstellungen sind natürlich so:

$crystal = 1600000
$baud = 19200

Und was es zu probieren gibt weiss ich auch nicht - dachte ich bekomme 
hier einen Hinweis dazu.
Verweise auf Hilfe und Doks bringen nichts, denn die habe ich zuerst 
durchforstet - und beim AT90S8515 funkioniert auch alles bestens

von spess53 (Gast)


Lesenswert?

Hi

CKDIV8-Fuse?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

TeZett schrieb:
> $crystal = 1600000
> $baud = 19200
>
> Und was es zu probieren gibt weiss ich auch nicht

Wenn du so sorgfältig programmierst, wie du hier Anfragen stellst, dann: 
jede Menge.

So, so. Dein µC läuft also mit 1.6Mhz. Warum blos will ich das nicht 
glauben :-)

Was steht wirklich auf deinem Quarz drauf und hast du kontrolliert, ob 
der µC auch wirklich mit dieser Taktfrequenz arbeitet?

von TeZett (Gast)


Lesenswert?

Hallo Spess,

wo/wie kann ich diese Fuse(s) setzen ?
Im Compiler ist bei den Fuses keine CKDIV8 zu sehen/finden.
JTAG ist disabled, alles anderen habe ich erstmal so gelassen wie sie 
sind

Gruss

von spess53 (Gast)


Lesenswert?

Hi

>wo/wie kann ich diese Fuse(s) setzen ?

Dort, wo man mit deinem unbekannten Programmer die Fuses setzen kann.

MfG Spess

von TeZett (Gast)


Lesenswert?

Ich benutze den BASCOM-Compiler und dort ist, wie gesagt, diese Fuse 
nicht zu finden

Gruss

von spess53 (Gast)


Lesenswert?

Hi

>Ich benutze den BASCOM-Compiler und dort ist, wie gesagt, diese Fuse
>nicht zu finden

Soll ich das jetzt so verstehen, das du noch nie eine Fuse gesetzt hast?

Mit dem Compiler haben die Fuses nichts zu tun. In deinem Programmer 
Dialog solltest du einen Tab mit 'Lock and Fuse Bits' finden. Dort wird 
das eingestellt.

MfG Spess

von TeZett (Gast)


Lesenswert?

Hallo Spess,

also:

im Programmer-Teil des BASCOM-Compilers ist ein TAB mit Lock & Fuse 
Bits.
Dort habe ich den JTAG disabled um an PortC alle Ports auf Output zu 
bekommen.

UNd nein, ansonsten habe noch nie Fuses gesetzt da im AT90S8515 es keine 
(nenneswerten) gibt - und ich ja, wie beschrieben, neu im Bereich 
Atmega162 bin

Gruss

von spess53 (Gast)


Lesenswert?

Hi

>UNd nein, ansonsten habe noch nie Fuses gesetzt da im AT90S8515 es keine
>(nenneswerten) gibt - und ich ja, wie beschrieben, neu im Bereich
>Atmega162 bin

Aber du musst doch die Taktquelle, Startup-Time usw. einstellen. 
Allerdings benutze ich kein BASCOM und kann dir in der Richtung auch 
nicht richtig weiterhelfen.

MfG Spess

von TeZett (Gast)


Lesenswert?

Hallo,

Fusebit DBCA: Taktquelle CKSEL = 0010 (intern 8 MHZ)
Fuesbit 98: Startuptime SUT = 010

Gruss

von TeZett (Gast)


Lesenswert?

DCBA ist richtig ;-)

von spess53 (Gast)


Lesenswert?

Hi

>Fusebit DBCA: Taktquelle CKSEL = 0010 (intern 8 MHZ)

Dann dürfte dein ATMega mit 1 MHz laufen. Sieh dir das Datenblatt für 
die passenden Einstellungen an.

MfG Spess

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.