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?
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.