Gast
#149536
Hallo, ich habe den atmeaga162 mit dem gcc compiliert. Dabei fiel mir auf, dass der aus einem Unterprogramm nicht zurückkam. Daher habe ich mir ein kleines Testprogramm in Assembler geschrieben. Um zu sehen wo das Programm steht, lasse ich die LEDs auf dem StK500 unterschiedlich aufleuchten. RESET: ldi temp,low(RAMEND) out SPL,temp ldi temp,high(RAMEND) out SPH,temp ;init Stack Pointer ldi temp, 0xff out DDRB, temp call serout weiter: ldi temp, 0x55 out PORTB, temp rjmp forever serout: ldi temp, 0x0 out PORTB, temp ; rjmp weiter ret Es leuchten nur alle LED. Die 0x55 wird überhaupt nicht ausgegeben. Nehme ich das "rjmp weiter" wieder rein, dann geht es. Scheint irgendwas mit dem Stack zu sein. Muss ich da noch in den Configuration Bits was einstellen oder ist der Ram defekt? Danke Andreas