Forum: Mikrocontroller und Digitale Elektronik Minimalbeschaltung ATMEGA


von sebezahn (Gast)


Lesenswert?

Hi,

langsam glaube ich, ich habe einen totalen Denkfehler. Zwar kann ich
meinen ATMEGA128 programmieren, aber das Programm läuft nicht so, wie
ich das will. Langsam denke ich, ich habe gar keinen Fehler im
Programm, sondern in der Hardware. Deshalb jetzt mal eine Frage und
hoffentlich eine Antwort für ganz Dumme: Wie muss ein ATMEGA128 minimal
beschaltet sein?

Ich habe auf meinem Testaufbau jetzt nur zwischen jedem VCC bzw. AVCC
und GND 5Volt anliegen (gleiche Stromquelle), keinerlei Taktgeber
angeschlossen, da eigentlich ja der interne Takt laufen sollte, und
außerdem zwischen den VCCs und GNDs jeweils einen 100n-Kondensator.

Reset hatte ich testweise auch auf 5Volt, zwischendurch auch mal "in
der Luft" hängen, brachte aber beides nichts.

Habe ich einen Denkfehler und irgendwas Elementares vergessen? Zwar
bekomme ich aus einem Port (Port C.2) eine LED zum Leuchten, aber das
Programm scheint nicht zu laufen, ich bekomme die LED einfach nicht zum
blinken. Das Programm ist definitiv in Ordnung und läuft auf einem 2313
einwandfrei.

Gruß
Sebezahn

von Ronny Schulz (Gast)


Lesenswert?

Wenn es auf dem 2313 läuft, muss es nicht zwangsmässig auf dem ATmegega
16 laufen. Verwendest Du rcall, ret oder andere Befehle die den Stack
verändern? Dann musst Du den Stack auch richtig setzen, nämlich HIGH
und LOW. Zur Verdrahtung gibt es noch zu sagen, dass der AD-Wandler
noch angeschlossen werden sollte.

von Ralf (Gast)


Lesenswert?

Hi,

ich hatte am Anfang auch Probleme den Mega128 voll in gaang zu bringen.
Ich wollte am Anfang einfach alle Ports immer wieder Schalten um so
auch über LEDs zu testen, ob der Controller geht. Ein Port spinnte aber
irgendwie. Bei mir lag es dann daran, dass das JTAG an diesem Port lag
und aktiviert war. Habe dann dass JTAG über die Fuses abgeschaltet und
dann liefs. Könnte dir heute Abend mal mein kleines Programm hier ins
Forum stellen.
Bei meine HW hatte ich auch nicht mehr dran. Auch nur Vcc und AVcc mit
jew. 100nF, sowie 8MHz Quarz mit Cs. Den Reset habe ich jedoch über
RC-Glied beschaltet.

Viele Grüße,

Ralf

von sebezahn (Gast)


Lesenswert?

Das wars! Es waren die FuseBits! Zwei FuseBits haben mich, mit dem
Hinweis auf den JTAG, stutzig gemacht. Zum einen das JTAGEN - es war
an!

Außerdem war das M103C-Fusebit gesetzt. Auch das habe ich ausgeschaltet
(hoffe mal, dass das richtig war...)

Das Ergebnis: Meine LED blinkt, der nächste Test, das angeschlossene
Display, funktionierte ebenfalls auf Anhieb.

So, nun kann ich endlich damit beginnen, mir ernsthaft Gedanken um eine
Menüstruktur und deren programmiertechnische Umsetzung zu machen.
(siehe anderer Thread von andre)

BTW: Ich muss Euch echt mal ein Lob aussprechen. Ich habe ja häufig
Sorge, hier meine Fragen zu stellen, weil ich das Gefühl habe, mich als
Anfänger zwischen einem Haufen Profis zu befinden, die von den ganzen
Anfängerfragen schon völlig genervt sein müssen. Und dennoch bekommt
man konstruktive Hilfe, auch wenn man, weil man nicht selbst so weit in
die Materie vorgedrungen ist, nur selten auf Foren-Fragen antworten
kann. Das hat man selten, deswegen jetzt mal ein dickes Dankeschön!

Gruß
Sebezahn

von Ronny Schulz (Gast)


Lesenswert?

Ich bin selbst seit einigen Wochen Anfänger. Da fällt mir ein das
JTAG-Problemn hatte ich auch. ;) Aber deshalb ist es doch nicht schlimm
zu fragen. :)

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.