Danke danke ...
Ich benutze auch das AVR Studio aber die Fehlermeldung vom Debugger habe ich wohl falsch interpretiert.
Wärst du eigentlich so nett, dass du mir das mal auf meine Art schreibst?
Und warum funktioniert folgendes Programm so langsam ...
Code:.include "m8def.inc" .def temp = r19 .def temp2 = r17 .def temp3 = r18 LDI R16, HIGH(RAMEND) ;setzt R16 auf den höchsten wert 1024 (0x0400) OUT SPH, R16 ;setzt es in Stack Pointer (zwischenspeicher) LDI R16, LOW(RAMEND) ;setzt R16 + 95 (0x005F) also wird niedrigster wert dazu addiert OUT SPL, R16 ;setzt es in Stack Pointer (zwischenspeicher) ;Front LED an main: ldi temp2, 0x0F rcall front_led_on RCALL warte ; Aufruf des Unterprogramms "warte" rcall front_led_off RCALL warte ; Aufruf des Unterprogramms "warte" rjmp main ;FRONT-LED an als Unterprogramm front_led_on: SBI PORTD, PD6 SBI DDRD, DDD6 ret ;FRONT-LED aus als Unterprogramm front_led_off: CBI DDRD, DDD6 ret ;Warteschleife als Unterprogramm warte: dec temp2 mov temp, temp2 LDI R17, 0xFF ;setzt R17 auf 255 LDI R18, 0xFF ;setzt R18 auf 255 loop1: DEC R17 ; BRNE loop1 ;wenn nicht gleich, springt zu loop2 DEC R18 BRNE loop1 DEC temp BRNE loop1 RET ;automatischer Rücksprung zum Hauptprogramm







Zitieren

Lesezeichen