Hallo! Ich bin dabei, das MJOY Projekt (USB Joystick in ASM) auf einen ATmega88 zu portieren. Ich habe die Register wie in Atmels AVR094: Replacing ATmega8 by ATmega88 geändert und .include "m8def.inc" in .include "m88def.inc" geändert. Jetzt treten aber mehrere Fehler in der Form error: Operand 1 out of range: z.B. bei folgendem Codestück auf: ;ADC enable, no start yet, Single Conversion mode, no interrupts ;set ADC prescaler to 12MHz / 64 = 187.5kHz ldi temp0, 0b10000110 out ADCSRA,temp0 Was kann ich dagegen machen?
Port ist nicht mehr mit dem OUT Befehl adressierbar. STS verwenden.
Danke! STS Klappt! wie kann ich die anderen Befehle ersetzen? Ich programmiere normalerweise in C... sbi ADCSRA, ADSC ; start conversion sbic ADCSRA, ADSC in temp0,ADCL und was mache ich mit GIFR und GIMSK welche beim m48 ebenfalls unbekannt sind? In der m8def.inc sind sie einfach als .equ GIMSK =$3b .equ GIFR =$3a definiert.
Martin wrote: > Danke! > STS Klappt! > wie kann ich die anderen Befehle ersetzen? > Ich programmiere normalerweise in C... Steht das in der AVR094 nicht drin? > sbi ADCSRA, ADSC ; start conversion Das geht nicht mehr mit einem Befehl. Da muss
1 | lds tempX, ADCSRA |
2 | sbr tempX, (1 << ADSC) ;Achtung: sbr benutzt eine Bitmaske und keine Bitnummer! |
3 | sts ADCSRA, tempX |
> sbic ADCSRA, ADSC Siehe oben, nur eben cbr nehmen. > in temp0,ADCL
1 | lds temp0, ADCL |
> und was mache ich mit GIFR und GIMSK welche beim m48 ebenfalls unbekannt > sind? In der m8def.inc sind sie einfach als > .equ GIMSK =$3b > .equ GIFR =$3a > definiert. Hab das jetzt auch nicht alles im Kopf, aber ich meine, es müsste durch EIMSK bzw. EIFR ersetzt werden...
Johannes M. wrote: >> sbic ADCSRA, ADSC > Siehe oben, nur eben cbr nehmen. Sorry, muss natürlich sbrc heißen und nicht cbr... Und das Zurückschreiben mit sts kann natürlich auch weggelassen werden.
Hallo, Sorry I don't speak German. Martin (Gast), do you have your converted mjoy.asm for ATmega88? I'm trying to convert the source to this micro too. Did you use mjoy.asm v1.2 as your base?
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.