Atmega2560 ASM Pins im oberen Speicherbereich adressieren

Gast #5698736
Hallo, es handelt sich um einen Atmega 2560 und Assembler. Ich möchte 
einzelne Pins im PortL in Assembler steuern. Der PortL liegt im oberen 
Speicherbereich, daher geht das mit SBI und CBI leider nicht. Gibt es im 
oberen Speicherbereich auch eine Möglichkeit einzelne Pins direkt 
anzusprechen oder muss ich zwingend mit LDS das gesamte Register 
einlesen, den entsprechenden Pin setzen bzw. löschen und wieder mit STS 
ins PortL-Register speichern?
Gast #5698762
Heini schrieb:

> Gibt es im
> oberen Speicherbereich auch eine Möglichkeit einzelne Pins direkt
> anzusprechen oder muss ich zwingend mit LDS das gesamte Register
> einlesen, den entsprechenden Pin setzen bzw. löschen und wieder mit STS
> ins PortL-Register speichern?

Zwingend einlesen musst du nicht, jedenfalls nicht bei jedem Pinwackeln, 
schreiben allerdings schon.

Das Einlesen kann man umgehen, indem man den letzten Zustand des Ports 
in einem Register hält. Ob das sinnvoll ist, hängt natürlich davon ab, 
wie häufig sich was ändern soll/muss.
Gast #5698768
c-hater schrieb:
> Zwingend einlesen musst du nicht, jedenfalls nicht bei jedem Pinwackeln,
> schreiben allerdings schon.
>
> Das Einlesen kann man umgehen, indem man den letzten Zustand des Ports
> in einem Register hält. Ob das sinnvoll ist, hängt natürlich davon ab,
> wie häufig sich was ändern soll/muss.

Ja, das war jetzt nur beispielhaft mit dem immer Einlesen. Okay, das 
habe ich mir schon fast gedacht dass ich das nur mit einer 
Bit-Maskierung machen kann.
Danke für die Antwort

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 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.