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?
Bruno M. schrieb: > Muß ich nun sbic/sbis aus mehreren Einzelbefehlen zusammensetzen, Ja. Ein Compiler würde das für dich transparent erledigen. ;-)
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?
@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.
Hi >Kann ich in und out verwenden ... Nein >und was muß ich für PortF eingeben? lds und sts. MfG Spess
@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.
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?
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
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.