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
> 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.
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.
Oh das Leerzeichen ist mir wohl aus versehen in den Post gerutscht. Steht nicht im Programm. trotzdem danke
Okay, stimmt. Hatte die Funktion unabsichtlich zweimal. Im Projektverzeichnis war noch ein altes sourcefile mit derselben Funktion. Danke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.