Hallo zusammen,
ich bin anfäger in AVR, und habe mit erstem Problem im IAR EW gestoßen.
Ich habe im Projekt zwei Module: xx1.c und xx2.c. aus beiden möchte ich auf gleiche Port zugreifen (PORTD). Dafür habe ich in beide #include <ioavr.h> eingefügt, da der PORTD aus beiden sichtbar ist. Nun schreibe ich im xx2.c Modul PORTD ^= (1<<pd6), im ersten PORTD ^= (1<<pd5);
der Linker bringt mir Fehler:
Error[e6]: Program module (projektname) redeclared in file xx2.r90
Es ist klar, dass zwei mal deklariert worden. Aber muss irgendwo "extern" stehen, um die zwei deklarationen sich nicht überkreuzen.
Ich glaube, jeder anfänger stosst auf dieses Problem
Kann mir jemand helfen?
O......ooo! gefunden.
Habe nie gedacht, dass ein eigener Name so ein effekt macht. Beim IAR ist objekt Name nicht output objekt Name:
Lt. IAR: This option is particularly useful when several modules have the same filename, because
the resulting duplicate module name would normally cause a linker error; for example,
when the source file is a temporary file generated by a preprocessor.
Also nie explizit Name eingeben!!!Nie haken Object module name!!!
ich bin anfäger in AVR, und habe mit erstem Problem im IAR EW gestoßen.
Ich habe im Projekt zwei Module: xx1.c und xx2.c. aus beiden möchte ich auf gleiche Port zugreifen (PORTD). Dafür habe ich in beide #include <ioavr.h> eingefügt, da der PORTD aus beiden sichtbar ist. Nun schreibe ich im xx2.c Modul PORTD ^= (1<<pd6), im ersten PORTD ^= (1<<pd5);
der Linker bringt mir Fehler:
Error[e6]: Program module (projektname) redeclared in file xx2.r90
Es ist klar, dass zwei mal deklariert worden. Aber muss irgendwo "extern" stehen, um die zwei deklarationen sich nicht überkreuzen.
Ich glaube, jeder anfänger stosst auf dieses Problem
Kann mir jemand helfen?
O......ooo! gefunden.
Habe nie gedacht, dass ein eigener Name so ein effekt macht. Beim IAR ist objekt Name nicht output objekt Name:
Lt. IAR: This option is particularly useful when several modules have the same filename, because
the resulting duplicate module name would normally cause a linker error; for example,
when the source file is a temporary file generated by a preprocessor.
Also nie explizit Name eingeben!!!Nie haken Object module name!!!