LCD Lib in AVR Studio einbinden

OP #4623861
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
Angehängte Dateien:
#4623868
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
Gast #4623872
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.
#4625007
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren