Forum: Mikrocontroller und Digitale Elektronik Atmega Studio 6.1 V-USB Linker Fehler


von Mario X. (grinderfx)


Lesenswert?

Hallo.

Ich versuche den V-USB Code mit Atmega Studio 6.1 für meinen Atmega8 zu 
nutzen aber leider kriege ich folgenden Fehler:
Fehler  1  undefined reference to `usbInit()'
Fehler  2  undefined reference to `usbPoll()'

Was aber extrem seltsam ist, da diese Funktionen dem Projekt hinzugefügt 
sind und man sogar per Gui mit Goto Implementation sowohl zur 
Deklaration sowie zur Implementation springen kann, sprich alles ist da 
und kann gefunden werden. Hier läut also was gewaltig schief.

Um noch präziser zu werden:
Meine Main Funktion ruft usbInit(); und usbPoll(); auf, included wird 
(#include "usbdrv.h") und die usbdrv.c befindet sich im Projekt und wird 
auch übersetzt!
In usbdrv.c befinden sich die genannten Funktionen.

Was läuft hier schief?

von Peter II (Gast)


Lesenswert?

Zeig doch mal alle ausgaben vom Build Prozess.

von Stefan E. (sternst)


Lesenswert?

Mario Xxx schrieb:
> Was läuft hier schief?

Ich würde vermuten, dass hier mal wieder jemand C und C++ mischt.

von Mario X. (grinderfx)


Lesenswert?

Stefan hat recht. Ich hab fälschlicherweise mein CPP Projekt genommen 
gehabt und das mit der V-USB Lib erweitern wollen.
Das ist aber leider traurig, da ich doch lieber auf CPP gesetzt hätte.
Wenn ich ein C Projekt erstelle funktioniert es sofort.
Danke.

von Stefan E. (sternst)


Lesenswert?

Mario Xxx schrieb:
> Das ist aber leider traurig, da ich doch lieber auf CPP gesetzt hätte.

Dann informiere dich halt über 'extern "C"'.

von Mario X. (grinderfx)


Lesenswert?

Ich habe auf der V-USB Seite folgenden Schaltplan gefunden:
http://www.obdev.at/Images/vusb/circuit-zoomed.gif

Ist das die gängige Methode das aufzubauen? Nur Dioden als 
Spannungsbegrenzung für den Microcontroller?

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.