Forum: Compiler & IDEs MPLAB X 5.50 Problem mit den *.h Pfaden


von Hans (klasoft)


Angehängte Dateien:

Lesenswert?

Ich habe ein Projekt von MPLAB IDE V8 auf MPLAB X V5.50 Konvertiert und 
schaffe es nicht die *.h File vom alten Pfad (C:\Program Files 
(x86)\Microchip\mplabc32\v2.02\pic32mx\include\lega-c\pl\plib.h) auf den 
neuen (C:\Program 
Files\Microchip\xc32\v3.01\pic32mx\include\lega-c\plib.h)umzustellen und 
daher kommen unzählige Fehlermeldungen (siehe Bild) beim Build. Kann mir 
jemand zeigen wo ich den Pfad eintragen muss. Bitte. Danke.

Lg.
Hans K.

von Franko P. (sgssn)


Lesenswert?

Hallo
ich unterstelle mal, dass es die Datei plib.h gibt. Der Compiler 
unterscheidet bi den #include-Anweisungen 2 Zeichen: <> und "". je 
nachdem, was du da angibst steht da ein bestimmer Suchpfad. Das <> ist 
üblicherweise der Bibliothekspfad. Wie heisst denn dein Project-Pfad? 
Ist das
C:\Program
Files\Microchip\xc32\v3.01\pic32mx\include\lega-c

? Wenn ja, und die Datei steht da, dann schreib #include "plib.h"

Gruß

von Hans (klasoft)


Lesenswert?

Hallo Franko
Danke für deine Antwort.
Hab vor 10 Minuten das Problem gelöst, habe einfach einen anderen 
Compiler verwendet und schon ist kein Fehler mehr gekommen.

Aber leider ist das nächste Problem aufgestanden. Eigenartigerweise 
werden einige Variablen (z.B. ucXnErrAbfEnb=0xFF;) im Debugger-Mode 
nicht beschrieben sie bleiben auf 0. Andere die gleich deklariert sind 
schon.  Wenn ich das Zielsystem flashe dann funktioniert die Baugruppe 
aber der Debugger nicht.
noch ein Beispiel:
unsigned int uiOutPufXpDataPr0AdrWr;
unsigned int uiOutPufXpDataPr0AdrRd;
uiOutPufXpDataPr0AdrWr=1; (die bleibt auf 0)
uiOutPufXpDataPr0AdrRd=1; (diese wird 1)

?????

Bitte um Hilfe. Danke.

von Wastl (hartundweichware)


Lesenswert?

Hans schrieb:
> Bitte um Hilfe. Danke.

Versuche dem Compiler mitzuteilen dass er keine Code-Optimierungen
vornehmen soll.

von Franko P. (sgssn)


Lesenswert?

Wenn diese Variablen im Programm nicht mehr weiter verwendet werden, 
kann das schon sein, dass die rausoptimiert werden.

von Harald K. (kirnbichler)


Lesenswert?

Welches Konzept verbirgt sich hinter Variablennamen wie 
"uiOutPufXpDataPr0AdrWr"? Hat da eine Katze auf die Tastatur gekotzt?

Ich kann ja der "ungarischen Notation" bzw. CamelCase durchaus einiges 
abgewinnen, aber das, das ist ...

von Hans (klasoft)


Lesenswert?

Hallo Harald

Mach dir keine Sorgen wegen meiner Variablennamen, Hauptsache ich weiß 
was sie bedeuten.

Lg.
Hans K.

von Hans (klasoft)


Lesenswert?

Hallo Franko, hallo Wastl

Danke für eure Antwort.
Das dachte ich auch weil die Variabel ucXnErrAbfEnb tatsächlich nicht 
verwendet war. Aber auch nach dem ich diese mit einer if testweise 
verwendet habe blieb sie trotzdem 0 und nicht 0xFF. Ich habe diese 
Anlagen 2014 erstellt vielleicht ist das Zeug's zu alt für ICD4. Aber 
egal ich habe mittlerweile eine andere Lösung.
Ich habe statt ICD4 den ICD3 verwendet und so funktioniert's, hätte ich 
zwar nicht gedacht aber einen Versuch war es Wert.

Als Hintergrund diese Baugruppe ist ein Teil meiner Modellbahn und 
vereint zwei Systeme. Xpress-Net (Modellbahnprotokoll) mit 
IEC60870-5-101 (Industrie-Fernwirkprotokoll) und ich brauch zusätzliche 
Informationen von meinen Lok's.
Die Fahrtrichtung werde ich als TI31 (Doppelmeldung) von Xpressnet zum 
IEC schicken um diese im CAExPlus (Siemens) verarbeiten zu können. Diese 
Funktion muss ich hinzufügen.

uiOutPufXpDataPr0AdrWr (enthält die Adresse für die Beschreibung eines 
Telegrammpuffer in Richtung der Loks.
ui      ...unsigned int
OutPuf  ...Ausgangspuffer
XpData  ...Xpressnet-Daten
Pr0     ...Priorität 0
AdrWr   ...Schreibadresse

Doch noch ein guter Sonntag.
lg.

Hans K.

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.