Forum: Mikrocontroller und Digitale Elektronik PIC 32 bringt mich zur VERZWEIFLUNG!


von Steve (Gast)


Lesenswert?

Es wäre wahnsinnig nett, wenn mir jemand bei meine Problemen bei der 
Programmierung mit dem PIC32MX360F512L weiterhelfen könnte.

Mein Problem:

Wenn ich ein neues Projekt erstelle und die benötigten Source Files und 
Header Files hinzufüge und dann Build All auswähle, funktioniert 
telweise alles einwandfrei.

Häufig jedoch bekomme ich beim auswählen von Build All fehlermeldungen 
wie:

Debug build of project `C:\C32\11potman\potman.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Target debug platform is `__MPLAB_DEBUGGER_ICD2=1'.
Debug platform options are: `__ICD2RAM=1'.
Fri Mar 25 11:02:38 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L -x c -c "ADClib.c" -o"ADClib.o" -MMD 
-MF"ADClib.d" -D__DEBUG -g
ADClib.c:6:17: ADC.h: No such file or directory
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\C32\11potman\potman.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Target debug platform is `__MPLAB_DEBUGGER_ICD2=1'.
Debug platform options are: `__ICD2RAM=1'.
Fri Mar 25 11:02:38 2011
FAILED

Es sieht so aus als ob die Header Datei ADC.h nicht gefunden wird.

Ich kann absolut nicht nachvollzuiehen was das vor sich geht. Ich hab 
die Datei doch hinzugefüht und so sollte doch die Verknüpfung klar 
sein!?

Ich dreh mitlerweile total am Rad, weiß absolut nicht wie ich dieses 
Problem gelöst bekomme und komm mir vor wie der dümmste Mensch im 
Universum.

WENN JEMAND AUCH NUR EINEN ANSATZ VON EINER IDEE HAT, DANN LASST ES MICH 
DOCH BITTE WISSEN!!

Gruss,
STEVE

von Sebastian Hepp (Gast)


Lesenswert?

MPLAB hat ja ein include Verzeichnis. Das wird leider nicht 
standardmäßig durchsucht. Schau mal bei den Projektoptionen beim 
Compiler ob dieses Verzeichnis mit drin ist.

von heinzhorst (Gast)


Lesenswert?

Menüleiste:

Project > Build Options... > Project

Registerkarte:

Directories > Include Search Path
bzw.
Directories > Library Search Path

Verzeichnis mit deiner ADC.h raussuchen.

von Steve (Gast)


Lesenswert?

Schon mal ganz herzlichen Dank für die Antwort!

Ich habe versucht nachzuvollziehen, wo und was ich nachschauen sollte, 
doch ich hab es leider nicht verstanden.

Ich habe gerade nochmal einen Versuch gemacht: Ich habe 2 Ordner mit dem 
gleichen Projekt und dem gleichen Hauptprogramm auf der Festplatte C 
gespeichert. Bei dem einen Projekt ist es egal ob sich die zusätzlich 
benötigten .c und .h Dateien auf der Festplatte oder auf einem USB-Stick 
befinden- es funktioniert. Bei dem 2. Ist es egal wo sich die 
zusätzlichen Dateien befinden- es funktioniert nicht.

(Ich benutze MPLAB IDE V8.01 und den MPLAB C32 C-Compiler)
Könntest du mir bitte nochmal genauer bzw. einfacher sagen wo und nach 
was ich schauen sollte??




1.Programm:


----------------------------------------------------------------------
Debug build of project `C:\C32\11 Analog\POT.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Fri Mar 25 12:04:14 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\C32\11 Analog\Pot-Man.o".
Clean: Deleted file "C:\C32\11 Analog\ADClib.o".
Clean: Deleted file "C:\C32\11 Analog\Explore.o".
Clean: Deleted file "C:\C32\11 Analog\LCDlib.o".
Clean: Deleted file "C:\C32\11 Analog\POT.elf".
Clean: Deleted file "C:\C32\11 Analog\POT.hex".
Clean: Done.
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L -x c -c "Pot-Man.c" -o"Pot-Man.o" -MMD 
-MF"Pot-Man.d" -I"C:\C32\include" -D__DEBUG -g
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L -x c -c "C:\C32\lib\ADClib.c" -o"ADClib.o" -MMD 
-MF"ADClib.d" -I"C:\C32\include" -D__DEBUG -g
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L -x c -c "C:\C32\lib\Explore.c" -o"Explore.o" 
-MMD -MF"Explore.d" -I"C:\C32\include" -D__DEBUG -g
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L -x c -c "C:\C32\lib\LCDlib.c" -o"LCDlib.o" -MMD 
-MF"LCDlib.d" -I"C:\C32\include" -D__DEBUG -g
Warning: Building a `Debug' configuration with no debug tool loaded.
Warning: Debugger-specific command-line options may be missing.
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L "Pot-Man.o" "ADClib.o" "Explore.o" "LCDlib.o" 
-o"POT.elf" -Wl,-L"C:\Program Files\Microchip\MPLAB 
C32\lib",-L"C:\Program Files\Microchip\MPLAB 
C32\pic32mx\lib",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,-Map= 
"POT.map"
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-bin2hex.exe" 
"C:\C32\11 Analog\POT.elf"
Loaded C:\C32\11 Analog\POT.elf.
----------------------------------------------------------------------
Debug build of project `C:\C32\11 Analog\POT.mcp' succeeded.
Preprocessor symbol `__DEBUG' is defined.
Fri Mar 25 12:04:18 2011
SUCCEEDED
----------------------------------------------------------------------



2.Programm:


----------------------------------------------------------------------
Debug build of project `C:\C32\11potman\potman.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Fri Mar 25 11:58:52 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Programme\Microchip\MPLAB C32\bin\pic32-gcc.exe" 
-mprocessor=32MX360F512L -x c -c "potman.c" -o"potman.o" -MMD 
-MF"potman.d" -D__DEBUG -g
potman.c:11:21: explore.h: No such file or directory
potman.c:12:17: LCD.h: No such file or directory
potman.c:13:17: ADC.h: No such file or directory
potman.c: In function `main':
potman.c:21: error: `AINPUTS' undeclared (first use in this function)
potman.c:21: error: (Each undeclared identifier is reported only once
potman.c:21: error: for each function it appears in.)
potman.c:24: error: `POT' undeclared (first use in this function)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\C32\11potman\potman.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Fri Mar 25 11:58:53 2011
FAILED
----------------------------------------------------------------------

von morph1 (Gast)


Lesenswert?

8.01 :D

Ich frag mich grad aus welchem Jahr das wohl ist, ich würde auf 
2006-2008 tippen.

Da es gratis ist, frag ich mich ob nicht mal ein Update angemessen wäre?

von Rolle (Gast)


Lesenswert?

Im 2. Beispiel fehlt deine Include Anweisung

-I"C:\C32\include"

er findet keine h-Dateien

ansonsten viel spass

von Steve (Gast)


Lesenswert?

heinzhorst

Ganz ganz ganz herzlichen Dank für deine Hilfe!!!

Ist ja genau so einfach, wie genial gewesen!!

Ich dachet wenn ich mit - Add Files... - Dateien hinzufügen, dass das 
Programm dann auch den Pfad schnallt.

Darauf wäre ich nicht gekommen - ich muss noch viel lernen!

Hättest du vielleicht noch einen Tipp für mich wie man z.B. an 
Lernmaterial oder Beispielprogramme kommt - vielleicht sogar auf 
deutsch?

Ich habe mir das Buch: Exploring the PIC32 (Embedded Technology) von Di 
Jasio von Butterworth Heinemann gekauft. Das Buch ist in jedem Fall 
besser als mein Englisch- könnte allerdings noch weitere Quellen 
gebrauchen , um auch mit dem Buch besser klar zu kommen.

von Steve (Gast)


Lesenswert?

;)

Ein Update ist meiner Meinung nach nur dann gut wenn es auch 
funktioniert :)

Ich hatte mir das Explore 16 Development Board gekauft und dazu dann das 
PIC32MX360F512L Modul.
Mit der MPLAB-Version (einer neueren die bei dem Board dabei war) hat es 
in Verbindung mit dem C-Compiler nur Fehlermeldungen beim 
Verbindungsaufbau mit dem Board gegeben. Dann habe ich im Internet 
gerausgefunden, dass es an der MPLAB-Version lag und dort wurde 
angegeben das es dieses Problem bei älteren Versionen nicht geben würde. 
Daraufhin haben ich die ältere Version installiert, die ich noch hatte 
und siehe da - die Verbindung wurde fehlerfrei aufgebaut.

Wenn du dich so gut mit den Versionen auskennst, kannst du mir 
vielleicht sagen,
1. ob ich bei der neusten Version die Fehler beim Verbindungsaufbau auch 
bekomme und
2. ob der C-Compiler bei der neusten Version von MPLAB auch einwandfrei 
funktioniert???

von Michael H. (morph1)


Lesenswert?

Naja ganz ehrlich, da würde ich eine andere Ansicht für das Problem 
nutzen.

Du hast MPLAB aus dem Jahre 2008, das ist kaum jünger als der Prozessor.
Es sind also mit hoher Wahrscheinlichkeit noch etliche Bugs drinnen 
versteckt die dich früher oder später einholen könnten.

Der C32 funktioniert in der aktuellen Version (1.12) sehr gut mit MPLAB 
8.63. Wenn du eine gekaufte Version besitzt ist das Update kostenfrei, 
andernfalls steht die Lite-Version ebenfalls frei zum Download zur 
Verfügung.

Ich kanns dir nicht versprechen, dass das aktuelle MPLAB mit deiner 
Kombination (Explorer16 + PIC32) arbeitet, ich seh aber auch keinen 
Grund der dagegen spricht. Ich habe das Explorer16 mit MPLAB (8.63 und 
der X beta5) in Verwendung (mit PIC24) und die PIC32 (795er) in eigenen 
Schaltungen.

Gute Vorzeichen also :)

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.