Forum: Mikrocontroller und Digitale Elektronik MPLAB X erkennt keine Lokale Variablen!


von derGast (Gast)


Lesenswert?

Hallo zusammen,

ich habe bei dem IDE MPLABX mit dem C18 Compiler einen 
Mikrocontroller(PIC18) Programmiert. Das lief auch ganz normal, bis ich 
heute es wieder etwas umschreiben wollte, erkannte der die lokalen 
Variablen in den Funktionen nicht mehr! Könnt ihr mir da einige Tipps 
geben woran das liegen könnte !?!?!?

Gruss

von Der (Gast)


Lesenswert?

Kannst du uns ein Beispiel zeigen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

derGast schrieb:
> erkannte der die lokalen Variablen in den Funktionen nicht mehr!
Was heißt das? Wie wirkt sich das aus?

von Erich (Gast)


Lesenswert?

>erkannte der die lokalen
>Variablen in den Funktionen nicht mehr!

Das könnte an der Optimierungseinstellung liegen.
Siehe Beitrag "lokale Variable nicht im Debugger"

von derGast (Gast)


Lesenswert?

Hallo,

es sieht so aus, dass die lokalen variablen unten rot gestrichen 
sind...dann steht auf der linken seite wo die zeilennummern stehen(also 
mit dem Maus auf den ausrufezeichen gehe) steht der HInweis: "Unable to 
resolve identifier Variable"

???

Gruss

von derGast (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

hier ein Beispiel!

von Markus (Gast)


Lesenswert?

Hallo,

du hast dir sehr wahrscheinlich einen Fehler in den Zeilen oberhalb der 
nicht mehr erkannten Variablen eingebaut.
Die Meldung "unexpected token" deutet daraufhin, dass du eine Klammer 
vergessen oder zuviel eingefügt hast. Dann kann der Compiler die 
Klammern die folgen nicht mehr richtig zuordnen und deuten.
Überprüfe mal ob du vorher alle Klammern richtig auf und wieder 
zugemacht hast (auch normale und geschweifte Klammern richtig 
unterscheiden)


Gruß Markus

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

Zusätzlich.

Wenn ich diese Anzeige (Bild) richtig deute, dann ist das nicht der 
erste Fehler in deinem Programm.
Generell: Richtig relevant ist der erste Fehler. Abhängig von diesem 
Fehler können dann weitere Fehler auftreten, sog. Folgefehler. Dieser 
Typ von Fehler verschwindet automatisch, wenn das ursprüngliche Problem 
gelöst ist.

D.h. Unter Umständen ist es nicht allzu sinnvoll, sich sofort in einem 
Rutsch mit allen Fehlern zu beschäftigen, weil einige (viele) davon sich 
ganz von alleine lösen. Mit ein wenig Erfahrung wirst du schnell lernen, 
ob ein Fehler von dieser Sorte ist oder nicht. Aber am Anfang kannst du 
als Neuling nach der Devise vorgehen: Kümmere dich immer nur um den 
ersten Fehler und wenn du ihn behoben hast, compiliere neu. (Und wohl 
dem, der zum Compilieren nicht wie ein Wilder Mausklicken muss, sondern 
das Kommando zum Compilieren per Tastendruck auslösen kann).

von derGast (Gast)


Lesenswert?

Hallo,


joa daran hat es gelegen..ich habe mich gequält :))) ich finde es aber 
iwie scheisse, dass es darauf keinen Hinweis gibt. Der zeigt dann 
iwelche fehler an, die eigentlich nicht das problem ist. Bei programmen 
mit einigen Zeilen, kann sowas mal schnell auftreten...

naja desto trotz

besten dank

mfg

von Karl H. (kbuchegg)


Lesenswert?

derGast schrieb:
> Hallo,
>
>
> joa daran hat es gelegen..ich habe mich gequält :))) ich finde es aber
> iwie scheisse, dass es darauf keinen Hinweis gibt. Der zeigt dann
> iwelche fehler an, die eigentlich nicht das problem ist. Bei programmen
> mit einigen Zeilen, kann sowas mal schnell auftreten...

:-)
Das unterstreicht nur den Wert einer vernünftigen und konsequent 
durchgezogenen Einrückung. (Wobei dein Code ohnehin schön aussieht)

Im übrigen:
Wenn dir deine IDE irgendwelche Fehler anzeigt, dann ist das nett. Aber 
die einzige Autorität in Punkto C-Syntax ist der Compiler. Und dessen 
Fehlermeldungen sind es, die dich durch die Problembehebung leiten. Egal 
ob deine IDE irgendwelche Variablen unterstreicht oder nicht. Deine IDE 
(die Entwicklungsumgebung) ist nicht die letzte Autorität!

von derGast (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Wenn dir deine IDE irgendwelche Fehler anzeigt, dann ist das nett. Aber
>
> die einzige Autorität in Punkto C-Syntax ist der Compiler. Und dessen
>
> Fehlermeldungen sind es, die dich durch die Problembehebung leiten. Egal
>
> ob deine IDE irgendwelche Variablen unterstreicht oder nicht. Deine IDE
>
> (die Entwicklungsumgebung) ist nicht die letzte Autorität!

Das stimmt alledings.. :)))

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.