Forum: Mikrocontroller und Digitale Elektronik LCD Lib in AVR Studio einbinden


von Borsty B. (mantabernd)


Angehängte Dateien:

Lesenswert?

Guten Abend,

ich verzweifle gerade daran eine LCD Lib in mein AVR Studio Projekt 
sauber einzubinden.

Gleich vorweg: wie ich es irgendwie hinbekomme weiß ich... mich würde 
aber eine saubere Vorgehensweise interessieren. Quasi wie es die Profis 
machen.

Lib kommt von hier:
https://github.com/thaletterb/ST7565R_AVR328P_Library

in der myLCD.c befindet sich eine main(). Ich würde allerdings gerne 
meine main() weiterverwenden.

An der Lib hängt auch ein Makefile. Was machen ich mit dieser? Will ich 
die verwenden? Was hat das Makefile mit einer Lib zu tun?

Anbei zwei Screenshots, einmal von meinem frischen, leeren Projekt dass 
sich auch complilieren und auf den µC übertragen lässt, und einmal ein 
Screenshot der Lib Files.

Ich habe z.B. über Add -> Existing Item ... die .c und .h Files 
hinzugefügt und bekomme dann ganz seltsame Fehlermeldungen aus dem 
Makefile... (siehe Bild 3 und 4).

Vielen Dank schon mal.
gruß
Bernhard

von Bastian W. (jackfrost)


Lesenswert?

Du musst über den Solution Explorer die .h und .c Dateien einbinden. die 
Main.c brauchst du nicht unbedingt wenn da nichts drinnen ist was du 
brauchst.

Einfach rechts auf das orange Symbol klicken->Add-Existing Item wählen 
und die Dateien einbinden.

Dann musst du die nur noch includen im Code und dann sollte es gehen.

Das du ein C++ Projekt hast musst du den Code als "extern c" im Code 
includen.

Gruß JackFrost

von Peter II (Gast)


Lesenswert?

es ist schon mal keine wirklich lib. Es sind einfach ein paar Header und 
Quellcode Dateien.

myLCD.c brauchst du überhaupt nicht, das ist mehr als Beispiel gedacht. 
Die anderen Dateien fügt man einfach zum Projekt dazu und fertig.

Makefile ist für das Testprogramm.

von Borsty B. (mantabernd)


Lesenswert?

Bastian W. schrieb:
> Einfach rechts auf das orange Symbol klicken->Add-Existing Item wählen
> und die Dateien einbinden.
>
> Dann musst du die nur noch includen im Code und dann sollte es gehen.

Hmm hab ich so gemacht, siehe meinen editierten Post von oben.

C-Files soll man doch nicht includen, oder?
Es werden doch nur .h Files über include eingebunden?

von Borsty B. (mantabernd)


Angehängte Dateien:

Lesenswert?

Anbei mein AVR Studio Projektordner.

Vielleicht mag sich das jemand ansehen und mir erklären warum es klemmt.

Danke :))))

von Timo (Gast)


Lesenswert?

tja, offenbar kommt da wieder nichts, wenn einer normale Fragen stellt..
Die Kompetenz der meisten hier reicht nur bei Fragen wie "Vorwiderstand 
ei einer LED unbedingt erforderlich?"

von Bastian W. (jackfrost)


Lesenswert?

Du hast in deinem Projekt das Array von der Schrift zweimal drinnen. 
Einmal in myFont.h und in myFont.c. Das geht nicht. Es darf nur einmal 
definiert sein. Es reicht wenn es nur im Headerfile drinnen ist. die 
myFont.c kannst du löschen wenn sie dann leer ist.

Zudem solltest du C Sources bei einem C++ Porjekt besser als extern "C" 
einbinden, das vermeidet Fehler. Bei deinen beiden Dateien geht es auch 
ohne ist aber besser
1
extern "C"
2
{
3
    #include "lcdLibrary.h"
4
}

Gruß JackFrost

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.