Forum: Mikrocontroller und Digitale Elektronik RS232 Kompilerfehler: ...Warning size of symbol __vector_30


von Cassiopeia (Gast)


Lesenswert?

Hallo,

erhalte in AVR Studio mit Mega128 gerade eine Fehlermeldung beim
kompilieren mit der ich nicht weiterkomme:

C:\Programme\WinAVR\bin\..\lib\gcc\avr\3.4.6\..\..\..\..\avr\bin\ld.exe:
Warning: size of symbol `__vector_30' changed from 66 in main.o to 170
in uart.o

Das Programm enthält eine Interrupt Routine zum empfangen von Daten:

ISR(USART1_R X_vect)
{
..
}

die Schnittstelle ist initialisiert mit:

void IOInit (void)
{
  UCSR1B |= ( 1 << TXEN ) | (1 << RXEN);
    UCSR1C |= ( 3<<UCSZ10 );
  UBRR1H=(uint8_t)(SYSCLK / (UART_BAUD_RATE * 16L) - 1)>>8;
  UBRR1L=(uint8_t)(SYSCLK / (UART_BAUD_RATE * 16L) - 1);

  sei();    // enable Interrupts
}

Tips woran es liegt?

Danke

von johnny.m (Gast)


Lesenswert?

> ISR(USART1_R X_vect)
Steht das auch so in Deinem Programm mit dem Leerzeichen zwischen dem R
und dem X? Wenn ja, dann ist es falsch.

von Benedikt (Gast)


Lesenswert?

Kann es sein, dass du die Interrupt Routine in main.c und in uart.c
geschrieben hast ?

Der Compiler meckert, dass es die selbe Funktion zweimal
unterschiedlich gibt.

von Cassiopeia (Gast)


Lesenswert?

Oh das Leerzeichen ist mir wohl aus versehen in den Post gerutscht.
Steht nicht im Programm.

trotzdem danke

von Cassiopeia (Gast)


Lesenswert?

Okay, stimmt. Hatte die Funktion unabsichtlich zweimal. Im
Projektverzeichnis war noch ein altes sourcefile mit derselben
Funktion.

Danke

von Vexti (Gast)


Lesenswert?

siehste in C++ hätte das wahrscheinlich sogar funktionert (mit
unterschiedlichen Parametern) g...

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
Noch kein Account? Hier anmelden.