Forum: Mikrocontroller und Digitale Elektronik Pin change Interrupts bei Atmega 162


von Jochen Bleile (Gast)


Lesenswert?

Hallo!

Ich habe ein Problem beim Programmieren von einem Atmega 162. Ich
programmiere mit AVR Studio 4 Assembler und möchte die pin change
Interrupts von Port A und C nützen. Hierzu muss ich die pin change
Masken (PCMSK0, PCMSK1) setzen. Jetzt ist es aber leider so, dass ich
im Simulator immer den Fehler bekomme, dass ich beim Laden der Register
anscheinend den falschen Typ verwende. Ich kann die Masken also nicht
setzen. Wenn ich mir dann im I/O Fenster die Register anschaue, steht
da zwar ne Adresse, aber als Wert "na", also not available. In der
Definitionsdatei, die AVR Studio beiliegt und ich auch inkludiert habe,
werden aber extra Labels für diese Register vergeben. In der Doku stehn
sie ja auch drin. Nur scheint AVR Studio ein Problem damit zu haben.
Dann habe ich noch gelsen, dass die Register nicht ansprechbar sind,
wenn sich der Controller im Atmega161 Kompatibilitätsmodus befindet.
Diesen habe ich aber nicht aktiviert, da man ihn über das Programmieren
einer Fuse aktivieren muss und ich noch kein Plan hab, wie das überhaupt
geht. omit dürfte der ja nicht eingeschaltet sein.

So, viel Text, ich hoffe jemand hats bis hierher durchgelesen Zwinkern
und kann mir bei der Lösung meines Problems helfen.

von Christof Krüger (Gast)


Lesenswert?

Hättest du genauer in die m162def geguckt, hättest du gesehen, dass
darüber ein Kommentar steht: Memory Mapped I/O Register Definitions
Diese Register liegen also nicht mehr im IO-Adressbereich, folglich
kannst du nicht mit in/out sbi/cbi darauf zugreifen sondern musst diese
wie SRAM behandeln.

Viel Spass ;)

von Jochen Bleile (Gast)


Lesenswert?

Da staunt der Fachmann und der Laie wundert sich! Schwubdiwups - es
funktioniert!!!
Vielen dank für den Tip. Werde wohl etwas mehr auf das Kleingedruckte
schauen müssen ;-)

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.