Hallo zusammen,

da ich neu hier bin, erst einmal Willkommen!

Ich versuche mich gerade in den Controller Mega128 einzuarbeiten, scheitere aber schon am C-Compiler bei der Interrupt service routine.
Vielleicht ist es nur was kleines und man kann mir gleich den richtigen Tipp geben.

Ich versuche den Interrupt 31 für die RX der UART1 abzufangen und mit einem echo zu reagieren:

#pragma interrupt_handler UART1_rx_isr:31

void UART1_rx_isr(void)
{
unsigned char uc_a;
uc_a = UDR1;
UDR1 = uc_a;
}

bekomme aber von compiler (oder Linker), blicke hier mit der Umgebung (ICCAVR) noch nicht richtig durch, folgendes:

C:\Programme\AVR\bin\imakew -f LED.mak
iccavr -c -e -D__ICC_VERSION="7.13A" -DAT90S8515 -l -g -Wa-W C:\Programme\AVR\examples.avr\led.c
iccavr -o LED -g -e:0x2000 -Wl-W -bfunc_lit:0x1a.0x2000 -dram_end:0x25f -bdata:0x60.0x25f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 @LED.lk
!ERROR file 'led.o': undefined symbol '_uart1_rx_isr'
!E led.o(93): Code address 0:0x3c already contains a value
!E led.o(93): Code address 0:0x3d already contains a value
C:\Programme\AVR\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1. Sat Feb 02 19:09:54 2008

hab bis jetzt mit den AVR' noch nichts zu tun gehabt. bei den 8081 Kernen gings bislang immer so problemlos.

Vielen Dank
Gruß
Dietmar aus Erlangen