Hello again,
ich habe im myavr Workpad folgenden Code geschrieben, der durch den Wertevergleich des Timers mit einem Register einen Port an und aus schalten soll.
Code:
main: ldi r16,lo8(RAMEND)
out SPL,r16
ldi r16,hi8(RAMEND)
out SPH,r16
ldi r16,0b00000101
out TCCR0,r16
ldi r16,0b11111111
out DDRC,r16
ldi r17,0b00000001
;Hier Init-Code eintragen.
;------------------------------------------------------------------------
mainloop: wdr
an:
cpi TCNT0,r16
BREQ weiter
rjmp an ;Hier den Quellcode eintragen.
weiter:
51 ldi r16,0b0000000
out PORTC,r16
ldi r16,0b11111111
aus:
59 cpi TCNT0,r17
BREQ weiterr
rjmp aus
weiterr:
rjmp mainloop
Dazu bekomme ich folgende Fehlermeldung:
Code:
Assembler Meldungen:
m8.asm:51 51: Fehler: number must be less than 32
51: Fehler: Zulässig sind nur Register oder Werte im Bereich: 0 to 31
51: Warnung: Der Ausdruck bzw. die Sprungmarke befindet sich möglicherweise außerhalb der 8-bit Zahlenbereiches.
m8.asm:59 59: Fehler: number must be less than 32
59: Fehler: Zulässig sind nur Register oder Werte im Bereich: 0 to 31
59: Warnung: Der Ausdruck bzw. die Sprungmarke befindet sich möglicherweise außerhalb der 8-bit Zahlenbereiches.
Kann mir da jemand sagen, was nicht stimmt?
Danke
Lesezeichen