Gast
#14556
hallo, ich habe ein problem mit mit dem atmega163, der folgende code lief auf dem 8535 problemlos, aber auf dem 8535 gibt es immer nur einen rücksprung auf "Init" wenn die zeile rjmp Init_Main aufgerufen wird. .include "m163def.inc" ;definitonsdatei für AT90S9535 einbinden rjmp Init ;Reset Handler & Watchdog Reset rjmp INT_0 ;Externer Reset eingang 0 rjmp INT_1 ;Externer Reset eingang 1 rjmp Timer2_Comp ;Timer 2 Compare Match rjmp Timer2_OVF ;Timer 2 Overflow rjmp Timer1_Capt ;Timer 1 Capture Event rjmp Timer1_CompA ;Timer 1 Compare Match A rjmp Timer1_CompB ;Timer 1 Compare Match B rjmp Timer1_OVF ;Timer 1 Overflow rjmp Timer0_OVF ;Timer 0 Overflow rjmp Spi_Comp ;Spi Transfer Complete rjmp UartRX_Comp ;Uart RX Transfer Complete rjmp Uart_DRE ;Data Register Emty rjmp UartTX_Comp ;Uart TX Transfer Complete rjmp ADC_Comp ;Aanlog Digtal Conversion Comlete rjmp EE_RDY ;EEprom Ready rjmp Ana_Compa ;Analog Compeerator Init: ;Initialisierung des stack Pointers <----- 8Kb SRAM max ram = $045F ldi r16, $04 ; Stack Pointer setup out SPH,r16 ; Stack Pointer High Byte ldi r16, $5F ; Stack Pointer setup out SPL,r16 ; Stack Pointer Low Byte ;Initialisierung der PORTS A-D ;**A** ldi r16,$00 out DDRA,r16 ldi r16,$00 out PORTA,r16 ;**B** ldi r16,0b11110000 out DDRB,r16 ldi r16,0b00001111 out PORTB,r16 ;**C** ldi r16,$FF out DDRC,r16 ldi r16,$00 out PORTC,r16 ;**D** ldi r16,0b11110000 out DDRD,r16 ldi r16,0b00111100 out PORTD,r16 rjmp Init_Main ;Von dieser routine wird immer ein sprung zu main gemacht . . . Init_Main: wo liegt das problem? den Stack pointer habe ich angepasst und das .h file auf den mega163 umgestellt, warum läuft das nicht ?? vielen dank Sebastian