Wenn ich dieses Prog. im Studio simuliere, dann springt nach dem ret Befehl der PCounter zu rjmp main, und nicht eine Zeile nach dem rcall-Befehl. Ich muß irgendwas vergessen haben, nur was?! Es funktioniert nämlich im Studio und im Prozessor nicht. Vielleicht kann sich das mal jemand durchsehen. Danke max .device AT90S8515 .include "8515def.inc" .def temp =r16 .def LED =r17 .def delay =r18 .def delay1 =r19 .def cmp =r20 .cseg .org 0x00 rjmp main main: ser temp out DDRB,temp ldi cmp,0 ldi LED,0xFF LEDout: out PORTB,LED com LED rcall waittime rjmp LEDout waittime: ldi delay,2 wait: dec delay ldi delay1,2 wait1: dec delay1 cpse delay1,cmp rjmp wait1 cpse delay,cmp rjmp wait ret
Hi! Hast du den Stackpointer initialisiert? Siehe Tutorium -> Stack: ldi temp, RAMEND ;Stackpointer initialisieren out SPL, temp ciao, Thomas
Ha, jetzt gehts. Hab das in einem anderen Prog gesehen und dachte mir, das brauch ich eh nicht Danke max
8515: 16 Bit-Stackpointer. Ich würde SPH auch initialisieren. --- Holger
Warum benutzen soviele Leute das 4.04 wo doch es noch nicht mal Beta ist, wenn ich den Leuten im www.avrfreaks.net forum 4.0 glauben kann.
Ja den SPH hab ich auch initialisiert, wie es bei den Appnotes von Atmel gemacht wurde. Haut super hin. Hab mir das Studio 4.04 frisch runtergeladen, und nicht auf die Version geachtet. Danke max
Laut Atmel ist das Studio4 jetzt die aktuelle Version und hat vor allem schon Features die das 3er nicht hat! Das mit dem Stackpointer ist wichtig! Auch wenn du nur ein uC hast, der nur den SPL benötigt muss SPH immer initialisiert werden!!!
Salut, @Michael: hmm? Verfügen AVRs mit <=256B RAM überhaupt über ein SPH-Register? Und wieso kommentiert Atmel selbst in seinen AppNotes die SPH-Initialisierung für 2313 und Co. aus? Und an welcher Stelle wird SPH vom AVR referenziert? Da existieren doch intern gar keine Adressleitungen für das Hi-Byte der RAM-Adresse... ? Oder hab ich was falsch verstanden? Etwas verwirrt, Mark H. -- http://markh.de/avr/
sorry wenn ich dich verwirrt hab, aber wir haben hier eine Menge Beispielprogramme für verschiedene Controller (von Atmel) und bei allen wird maximal der SPL initialisiert, was durchaus funktioniert, allerdings nur im AVRStudio(ob Ver.3 oder 4 ist egal). Das hat uns schon einige Nerven gekostet, deswegen wollte ich das nur mal erwähnen. wenn der assembler das nicht macht (bei den kleineren atmels), dann muss man das auskommentieren! sorry für die verwirrung
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.