hallo zusammen bin am assembler lernen. habe im avrstudio ein programm geschrieben. code: .INCLUDE "m8def.inc" .CSEG LDI r16,0xFF schlei: out PORTD,r16 rjmp schlei .EXIT es sollte eigentlich den portd auf logisch eins setzten. aber dies funktioniert nicht wirklich. das avrstudio zeigt keine fehler an! als download programm nutze ich ponyprog. kann mir jemand helfen? mfg T.S
Hast du den Port mit DDRD vorher auch als Ausgang konfiguriert? Ich glaube, die Ports sind standardmäßig als Eingang geschaltet.
.INCLUDE "m8def.inc" .CSEG LDI r16,0xFF schlei: out DDRB, r16 out PORTD,r16 rjmp schlei .EXIT
Die Richtung der Ports werden über die Data Direction Register (DDRx)festgelegt. Log.1 heisst Ausgang, Log.0 heisst Eingang. Um einen Port als Ausgang zu schalten: ldi r16,0xFF ;(es geht auch "ser r16", das steht für Set Register) out DDRD,r16 ;der Rest des Programms Gruß Mue
naja, das out DDRD, r16 muss nicht in die Schleife, muss ja nur einmal gemacht werden. Außerdem Port D und nicht Port B. Also DDRD VG
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.