Forum: Projekte & Code Text LCD und C++


von Juergen G. (jup)


Angehängte Dateien:

Lesenswert?

Das ist nicht meine Arbeit, sondern die von Klaus Wachtler.
Der Dank geht also an Ihn.
Den Thread in dem ich die LCD Klasse von Klaus gefunden habe
ist nicht so aussagekraeftig, also poste ich es hier.

Klaus hatte alles in einer *h Datei. Das geht zwar wenn man die
makefiles selber managed, einige IDE's (und Programmierer)
bevorzugen getrennte *.h und *.cpp Dateien.
Und das ist mein Beitrag zu dieser Klasse.
Ich habe den Code von Klaus in eine LCD44780.h und LCD44780.cpp
aufgeteilt und einen kleinen Fehler in der printf_P behoben.
(siehe Anderungsliste im .h)


Ich habe keine Lust hier zu diskutieren ob C++ fuer 8-Bitter geeignet
ist und ob die Benutzung der Klasse viel Speicher kostet oder nicht.

Ich selbst habe 3 Jahre lang 8 Bitter in C und asm programmiert. Seit 6 
Monaten fast ausschliesslich 32 Bitter und ich liebe die Moeglichkeiten
die C++ bietet, speziell wenn die Projekte etwas umfangreicher werden.

Im Anhang ist das komplette eclipse Projekt.
Wer mit eclipse arbeitet und AVR-eclipse installiert hat braucht nur
die Datei zu entpacken, einen Rechts-Click im eclipse ProjectExplorer
dann "Import"->General->"existing project into workspace",
richtigen Controller und Frequenz einstellen,
PortPins anpassen
compilieren und fertig.

Wer andere IDE's bevorzugt, kann nur die .h und .cpp Dateien in sein
Project Kopieren und gemaess seiner IDE verfahren.

Ju

von Klaus W. (mfgkw)


Lesenswert?

Wahrscheinlich meinst du 
Beitrag "Re: LCD Library gesucht für HD44780"
Die .h, auf die dort verwiesen wird habe ich gleich entsprechend 
korrigiert; danke für den Tip.

(Allerdings habe deinen Beitrag nur zufällig gesehen; wenn du Fehler 
findest, könntest du bitte direkt Bescheid sagen, oder in einem Thread 
posten, in dem ich auch schon mal dsbzgl. war - dann merke ich, wenn 
sich etwas tut.)

Warum eine IDE ohne .c(pp) zickt, kann ich nicht nachvollziehen, aber 
egal.
M.E. geht es auch nicht darum, was man mag, sondern was im Einzelfall 
sinnvoll ist - schließlich macht es schon einen Unterschied, wo man die 
Methoden definiert.
Ich würde wg. Codegröße dazu raten, unbenutzte Funktionen rauszuwerfen, 
wenn man alles in eine .cpp packt. Bei einer Klassendefinition in einer 
.h werden unbenutzte Methoden ja automatisch verworfen, da implizit 
inline.

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.