- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: "undefined reference" bei AVRStudio

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.08.2006
    Beiträge
    12

    "undefined reference" bei AVRStudio

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo!

    Ich habe angefangen ein Programm in AVR-Studio zu schreiben. Ich benutze das AVR-GCC-Plugin.

    Nun binde ich per include die Datei twi_slave.h ein.
    Code:
    #include "twi_slave.h"
    Wenn ich nun versuche eine Funktion aufzurufen, die in dieser Datei vorhanden ist bekomme ich den Fehler:

    ../ServoAtmega48.c:234: undefined reference to `TWI_Slave_Initialise'

    (Dieser Fehler tritt bei allen Funktionen auf die ich aus dieser Datei aufrufen möchte)

    Im linken Bereich unter "External Dependencies" ist diese Datei aufgeführt.

    Wie ich in anderen Threads erfahren habe handelt es sich um einen Fehler im Linker. Ich habe es so verstanden dass die Datei nicht kompiliert wurde und so der Linker die Funktion nicht findet und diese Fehlermeldung ausgibt.

    Die Makefile wird ja vom AVRStudio verwaltet und so müsste dort alles stimmen. Woher kommt dann der Fehler?

    Grüße
    BlueEagle

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    entweder "twi_slave.h" liegt nicht im selben verzeichnis wie der code, oder `TWI_Slave_Initialise' ist falsch geschrieben oder kA? was anderes fällt mir nicht ein, könntest höchstens mal ein stück twi_slave.h posten.

    AVR Studio 4? wäre nett, wenn du kurz etwas zu diesem GCC plugin sagen könntest, oder einen link hättest. das interessiert mich.

    gruesse

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.08.2006
    Beiträge
    12
    Hi

    Danke für deine Antwort.

    Das AVR-GCC Plugin ist der Plugin der automatisch von AVRStudio erkannt wird wenn WinAVR installiert ist.

    Einfach die neueste Version von AVR-Studio installieren und dann die neueste von WinAVR. Dann kann man bei einem neuen Projekt wählen ob man Assembler coden will oder in C.

    Die TWI_Slave.h ist die Datei aus dem Beispiel AVR311von Atmel.

    Diese Datei liegt in dem gleichen Verzeichniss wie der Code. Die Funktion(en) sind richtig geschrieben.

    Ich hab keine Ahnung was da schief läuft...

    Grüße
    BlueEagle

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    versuch mal eine andere header datei (kann leer sein) einzubinden. wenn das funktioniert ist der fehler auf die twi_slave.h eingegrenzt.
    vielleicht hilft das?

    "TWI_" oder "twi_"? das ist case-sensitive...

    gruesse

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    07.08.2006
    Beiträge
    12
    Hallo!

    Ich denke die Probleme werden dadurch verursacht, dass der Code nich für den AVR-GCC- Compiler gedacht sind sondern für den IAR.

    Daher habe ich mich entschieden auf einen anderen Code auszuweichen.

    Ich habe mich für diesen entschieden.

    Ich habe dazu nur eine kleine Verständnissfrage:
    Ich muss in der Main-Funktion des Programms bei einem SlaveReceiver doch nur in einer Schleife die Funktion SR aufrufen und der ein Array aus Integerzahlen übergeben(und die maximale Länge). Dann kann ich doch hinterher auf das Array wieder zugreifen und die übertragenen Bytes auslesen, oder ?

    Hoffe ich hab mich verständlich ausgedrückt...

    Grüße
    BlueEagle

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen