www.mikrocontroller.net

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


Autor: Jochen Bleile (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Jochen Bleile (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.