Forum: Mikrocontroller und Digitale Elektronik Neue ATMEGA8 laufen nicht an


von Tassilo S. (3schappies)


Lesenswert?

Hallo an Alle

Ich habe ein Pollin-Board, und will meinen Sohn da langsam ranführen.
Habe von Reichelt 2 nagelneue AtMega8. Sie lassen sich tadellos 
programmieren. Laufen aber anschließend nicht an. Ich habe einen der 
beiden umgestellt auf den externen kermischen Quarz. (Fuse - 
Bits-Änderung über Pony-Prog) Half aber auch nichts. Beide laufen 
einfach nicht an. Hat jemand einen Plan wo ich noch suchen könnte. Ich 
programmiere mit Bascom in der gekauften Version.

von Düsendieb (Gast)


Lesenswert?

am Besten die Fuses nicht anfassen.

Die laufen eigendlich immer, wahrscheinlich wurde das Programm nicht 
übertragen und daher hast Du fälschlich geschlossen die Controller 
würden nicht laufen.

Oder es gibt einen Fehler im Programm, sodass es nicht das Erwartete 
macht.


Axel

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Tassilo Scharbrodt schrieb:
> Hallo an Alle
>
> externen kermischen Quarz. (Fuse -

Wie sind denn die Werte genau?

"Keramischer Quarz" gibt's nicht. Entweder es ist Keramik, oder es ist 
ein Quarz (Kristall)

von MWS (Gast)


Lesenswert?

Tassilo Scharbrodt schrieb:
> Sie lassen sich tadellos programmieren.
Wenn Du die Fuses ver-fust hättest, dann wirst Du feststellen, dass sie 
sich kein zweites Mal programmieren lassen.

Tassilo Scharbrodt schrieb:
> Ich habe einen der beiden umgestellt auf den externen kermischen Quarz.

Ein Quarz ist ein Quarz, ein keramischer Resonator ist ein keramischer 
Resonator und Beides ist nicht das Gleiche.

1) Wie ist der Hardwareaufbau ?
2) Programm anhängen

von Jörn P. (jonnyp)


Lesenswert?

Neue atmega laufen mit internem Takt 1MHz. Wenn sie es nicht tun check 
mal den Zustand des Reset Pins.

von Düsendieb (Gast)


Lesenswert?

Zeig doch mal Dein Programm.

Hast du das Programm aus dem Controller zurücklesen können? Als Beweis, 
dass es auch da angekommen ist.

von Krapao (Gast)


Lesenswert?

> kermischen Quarz

Gibt es nicht. Quarz ist ein Kristall (engl. crystal) und keine Keramik.

Für mein Pollinboard (Pollin Funk AVR Board) wurden Quarze (12 MHz bzw. 
16 MHz) mitgeliefert; keine Keramikoszillatoren.

Tipp: Versuche in deinen Problembeschreibungen exakter zu sein.

Welche AVR Fuses waren eingestellt und welche hast du geändert?

Wie stellst du fest, dass der Atmega8 "nicht anläuft"; was soll er gemäß 
Programm (falsch programmiert?) und Schaltplan (Jumper vergessen?) 
machen?

von Ingo L. (Gast)


Lesenswert?

Warum kaufst du deinem Sohn nicht einmal ein STK500, das kannst du 
gleich als richtiges Probgrammiergerät nutzen und dein Sohn hat gleich 
ne Spielwiese. Ich persönlich halte von den "nicht Atmel Produkten" 
nichts.
Obwohl es wohl auch funktionieren mag.


Grüße,
Ingo

von Tassilo S. (3schappies)


Lesenswert?

Ihr antwortet schneller als ich schreiben kann.

Zunächst Punkt 1.
Ich kann das Programm zurücklesen. Es ist dort angekommen.

Punkt 2.
An den ResetPin habe ich auch schon gedacht. Er wechselt aber tadellos 
den Pegel, wenn ich den Taster betätige.

Punkt 3.
Die Einstellungen vom CKSEL 3...0 :1111
Die Einstellungen vom SUT10       :00

Aber selbst wenn ich einen verfust hätte, müßte doch der 2.te laufen.

Punkt 4
Mein Code, Auf das nötigste Reduziert. Mehr ist nicht. Will einfach nur 
sehen das er läuft
$regfile = "m8def.dat"
$crystal = 8000000

Config Portd.5 = Output
Config Pind.2 = Input
Do

 Pind.5 = 1
 sleep 1000
 Pind.5 = 0
 sleep 1000
Loop
End

von holger (Gast)


Lesenswert?

> Pind.5 = 1

 Port.5 = 1

von holger (Gast)


Lesenswert?

Upps;)

> Pind.5 = 1

 Portd.5 = 1

von rudi (Gast)


Lesenswert?

Tassilo Scharbrodt schrieb:
> $crystal = 8000000
Der unverfusete hat 1MHz, also:
$crystal = 1000000

von MWS (Gast)


Lesenswert?

Tassilo Scharbrodt schrieb:
> $regfile = "m8def.dat"
> $crystal = 8000000
>
> Config Portd.5 = Output
> Config Pind.2 = Input
> Do
>
>  Pind.5 = 1
>  sleep 1000
>  Pind.5 = 0
>  sleep 1000
> Loop
> End

Tassilo Scharbrodt schrieb:
> Ich habe ein Pollin-Board, und will meinen Sohn da langsam ranführen.
...
> mit Bascom

Auf Deinem momentanen Level wird eher Dein Sohn Dich ranführen :D

Sleep 1000 geht gar nicht, Sleep ist ein ASM-Kommando und besitzt keinen 
Parameter. Was Du machen möchtest, ist vielleicht ein Waitms 1000.
Pind.x ist das Eingangsregister, wenn man auf den Portpin schreiben 
will, muss es PortD.x = 0/1 lauten.

von Tassilo S. (3schappies)


Lesenswert?

Habe die Einstellung vom rudi übernommen. Half aber nichts.

von Düsendieb (Gast)


Lesenswert?

Da gibt es laufende Beispiele, aber für einen Mega88.

http://www.mikrocontroller.net/articles/Absolute_Beginner-AVR_Steckbrettprojekte

von Tassilo S. (3schappies)


Lesenswert?

Hallo MWS

Gewaltige Wortwahl. Trotzdem OK.

Sleep gegen Waitms getauscht.

Es läuft. Dank an alle anderen.

von MWS (Gast)


Lesenswert?

Tassilo Scharbrodt schrieb:
> Gewaltige Wortwahl. Trotzdem OK.

Nicht böse gemeint, sondern lediglich dem momentanen Stand entsprechend, 
erkennbar an der kreativen Verwendung der Programmiersprache :D

> Es läuft. Dank an alle anderen.

Bitteschön, auch wenn der Dank nicht an mich gerichtet war.

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.