Forum: Compiler & IDEs AVR: ISR und SIGNAL 2x vergeben


von Hegy (Gast)


Lesenswert?

Hallo,

wie verhält sich ein Programm, in dem einmal die ISR(SIG_USART1_RECV) 
verwendet wird und an anderer Stelle, in einer anderen Datei die Fkt. 
SIGNAL(UART1_RECEIVE_INTERRUPT) verwendet wird?

Ich hatte dieses Problem, aber vom Compiler (avrgcc) gab's keine 
Hinweise. Damit wäre doch der Interrupt doppelt vergeben, oder nicht?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hegy wrote:

> wie verhält sich ein Programm, in dem einmal die ISR(SIG_USART1_RECV)
> verwendet wird und an anderer Stelle, in einer anderen Datei die Fkt.
> SIGNAL(UART1_RECEIVE_INTERRUPT) verwendet wird?

Das zweite ist bei hinreichend hohem warning level eine Warnung wert,
da UART1_RECEIVE_INTERRUPT kein bekannter Name einer ISR ist.  Egal
ob Warnung oder nicht, diese ISR wird nie aufgerufen, sie ist einfach
toter Code.

Falls du natürlich eine Kollision aus SIG_USART1_RECV und
USART1_RX_vect generierst, wird dich der Linker mit einer duplicate
symbol definition vollblubbern und keine Objektdatei erzeugen.

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.