Forum: Compiler & IDEs Beseitigen eines XC8-Compiler-Errors


von Rudi R. (microwitsch)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

zum Erlernen von C-Codes für PICs habe ich mir ein Beispiel von der 
Simplecircuit-Seite für meinen PIC16F18877 umgeschrieben und bin nun auf 
einen Fehler runter.Wäre schön, wenn ich das Ding noch weg kriege und 
dann compilieren kann.Das Projekt habe ich mit dem Ordner angehangen.Ich 
nutze Linux Debian und jetzt hierfür Mplab X IDE V5.40 mit dem 
XC8-Compiler V2.20 mit dem (Toolpack DFP 1.2.99).Mit späteren 
XC8-versionen ging das Projekt gar nicht, auch wenn ich auf C90 in den 
Optionen runterdrehte.

Ich denke aber, dass dieser eine Fehler noch zu klären sein müsste.
Hat mal ein erfahrener C-Programmierer Lust sich das anzuschauen und die 
Möglichkeit seine ID hier so weit herunter zu regeln(XC8 V2.20)Erstellt 
wurde vorerst für den Simulator.
Folgender Fehler trat hier bei mir auf:
LCDLib.c:89:: error: (1098) conflicting declarations for variable 
"_LCD_Goto" (main.c:238)
Der Rest bestand aus den nervigen, üblichen Warnungen.

von Teo D. (teoderix)


Lesenswert?

Deine LCDLibc, wird nicht eingebunden und hat keine Headerdatei.

Beitrag #7590503 wurde vom Autor gelöscht.
von Rudi R. (microwitsch)


Lesenswert?

Teo D. schrieb:
> Deine LCDLibc, wird nicht eingebunden und hat keine Headerdatei.

sie ist doch aber im Projekt included, dann brauch ich das doch in Main 
nicht noch machen oder?Und warum dann nur dieser eine Fehler?Für mich 
sieht es fast so aus als würde der Compiler mit den Klammer-Werten von 
LCD_Goto in Main nicht klarkommen?Das ist die einzige Funktion, die hier 
in Main.c zwei  Variabelwerte bekommt?Alles andere was aus LCDLib.c 
kommt wird doch erkannt??Aber ich probiere es mal, weil es im Beispielt 
unverständlicher weise auch so war.Der Compiler führt die doch normaler 
Weise automatisch zusammen oder? Ähm aber Danke erstmal.Hast du die zip 
bei dir geladen und probiert??

Ich habe jetzt LCDlib.c eingebunden gehabt und natürlich 
Neudeklarationen als Fehler bekommen. Das war es dann wohl nicht....:o)

von Teo D. (teoderix)


Angehängte Dateien:

Lesenswert?

Rudi R. schrieb:
> dann brauch ich das doch in Main
> nicht noch machen oder?

Klar doch, muss ja wissen wohin mit dem Scheiß.

Rudi R. schrieb:
> Und warum dann nur dieser eine Fehler?

Weil als erstes in der Main aufgerufen und der Vorgang abgebrochen wird.

Ha mal umgebaut, kein Error mehr.

von Rudi R. (microwitsch)


Lesenswert?

Hey Danke Teo,

Zuerst musste ich mir mal "unrar" in Debian installieren.Dann habe ich 
die Files im Projekt erstmal alles durcheinandergehauen, man man...das 
mit den absoluten, relativen Ordnerbezügen ist auch ne lustige Sache.OK, 
nun läuft es, jetzt kann ich gucken warum und wie...Leider mache ich das 
nicht alle Tage.In Zukunft aber öfter, weil ich mir einen vernünftigen 
Bleiakkulader realisieren will,da komm ich um das Thema Mikrokontroller 
nicht rum, gibt ja nunmal keine effizientere Steuerung als mit solchen 
Dingern.Zuerst hat mir die Sprute-Seite mit den ganzen Assembler-Coden 
schon sehr geholfen.Irgendwie mag ich ich diesen Code aber nun komme ich 
auch nicht drum rum C zu verstehen...nutzt nix,muss ich wohl durch...Und 
warum musste ich ausgerechnet die komplizierteren PIC's zum üben 
nehmen,der PIC16F18877 wurde aber leider in einem Lehrbuch verwendet und 
das Teil hat ja eine Doku von 669 Seiten,sehr universell das Ding...
ok, also Danke nochmals..wie lange spielst du denn schon mit den Dingern 
rum wenn ich fragen darf? :)

Gruß André

Für interessierte mitlesende ist hier mal das Video zu diesem Code...die 
Seite Simple-Circuit.com hat noch ein paar andere interesante Projekte, 
ich glaube für Anfänger schon gar nicht mal schlecht diese Seite 
auzusuchen!

[[https://youtu.be/QE5hjYRW410?feature=shared]]

: Bearbeitet durch User
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.