Minimalbeschaltung ATMEGA

Gast #60858
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
Gast
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.
Gast
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
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.