Forum: Mikrocontroller und Digitale Elektronik Port-Befehle beim ATMega128


von Bruno M. (brumay)


Lesenswert?

Hallo,

Ich versuche eine Touch-Panel-Steuerung mit einem AT128 zu realisieren 
und benutze dazu die Ports F0-F3. Vorher hatte ich einen AT16 im Einsatz 
und konnte die sbic und sbis Befehle nutzen.
Das geht beim AT128 für Port F ja nicht.
Muß ich nun sbic/sbis aus mehreren Einzelbefehlen zusammensetzen, oder 
gibt es eine elegante Alternative?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bruno M. schrieb:
> Muß ich nun sbic/sbis aus mehreren Einzelbefehlen zusammensetzen,

Ja.

Ein Compiler würde das für dich transparent erledigen. ;-)

von Bruno M. (brumay)


Lesenswert?

Danke für die prompte Antwort!

Gruß Bruno

von Bruno M. (brumay)


Lesenswert?

Ich muß mich doch noch einmal melden.

Ich versuche schon die ganze Zeit diese beiden Befehle entsprechend 
abzuändern, komme aber nicht richtig weiter.
1
sbi    PortF, 2        
2
cbi    PortF, 3

Kann ich in und out verwenden und was muß ich für PortF eingeben?

von Falk B. (falk)


Lesenswert?

@Bruno M. (brumay)

>Kann ich in und out verwenden

Nein.

> und was muß ich für PortF eingeben?

lds/sts. PortF liegt an einer hohen Adresse, dort kommen weder sbi/cbi 
noch in/out hin. Siehe Datenblatt.

von spess53 (Gast)


Lesenswert?

Hi

>Kann ich in und out verwenden ...

Nein

>und was muß ich für PortF eingeben?

lds und sts.


MfG Spess

von Bruno M. (brumay)


Lesenswert?

@Falk Brunner (falk)

Das Datenblatt hatte ich schon gelesen, aber ich hatte es immer mit ld 
versucht, statt mit lds.

Danke für den Tip, der debugger meckert nicht mehr.

von Bruno M. (brumay)


Lesenswert?

Der Ersatz für
1
sbi    PortF, 2
wäre dann
1
lds    temp, PortF+$20
2
ori    temp, 0b00000100
3
sts    PortF+$20, temp

Ist das richtig?

von spess53 (Gast)


Lesenswert?

Hi

>lds    temp, PortF+$20
>ori    temp, 0b00000100
>sts    PortF+$20, temp

>Ist das richtig?

Nein. Das +$20 muss weg. Das ist nur bei Registern notwendig, die im 
IO-Bereich liegen da dort die Adressen im Include-File an in/out 
angepasst sind.

MfG Spess

von Bruno M. (brumay)


Lesenswert?

@spess53

Super Antwort! Danke

gruß Bruno

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.