Forum: Compiler & IDEs Hilfe zu fleurys Lcd Lib


von Yannic (Gast)


Lesenswert?

Hallo,

da ich langsam am verzweifeln bin, da ich mein display nicht angesteuert 
bekomme möchte ich nun doch mal die von allen gelobte Fleury Lib testen.

Leider hab ich keinerlei Erfahrungen mit C.

Kann mir jemand die Lib anpassen auf ein 2*16 Zeilen Display im 4Bit 
Modus mit folgender Pinbelegung:

Atmega16

16000000 Mhz

PORTA.4 -> DB4
PORTA.5 -> DB5
PORTA.6 -> DB6
PORTA.7 -> DB7
PORTB.0 -> E
PORTB.1 -> R/W
PORTB.2 -> RS

Ausgegeben werden soll einfach nur ein "Hallo" oder sowas.

Wenn jemand die lib darauf anpassen könnte und eine HEX erstellen und 
hier hochladen währe ich total dankbar.

Ich möchte nicht das ihr mir hier alles macht, aber ich möchte nun 
erstmal einfach nur irgendwas auf diesem ***** Display sehen.

mfg Yannic

von namenlos (Gast)


Lesenswert?

>Leider hab ich keinerlei Erfahrungen mit C.

Dann sammel welche.

>Ich möchte nicht das ihr mir hier alles macht, aber ich möchte nun
>erstmal einfach nur irgendwas auf diesem ***** Display sehen.

Kinder mit einem Willen kriegen was auf die ...

Bastel etwas, das deinem Können angemessen ist, oder wechsel dein Hobby.

von Yannic (Gast)


Lesenswert?

Dann erklärt mir doch bitte mal die vorgehensweise wenn ich die Datei 
Lcd.h angepasst habe was muss ich dann noch alles machen  ?

von namenlos (Gast)


Lesenswert?

Yannic, du fragst bei PC-Programmierung nach µC-Programmierung und 
scheinst abgesehen davon mindestens genauso planlos zu sein.

Wenn du das Programm angepasst hast, musst du es neu kompilieren, 
übertragen und starten.

Deine nächsten Fragen werden sein:
1.) Wie kompiliere ich
2.) Durch meine Änderung habe ich 142 Fehler im Code. Korrigiert mir die 
Fahler! Schnell!!
3.) Mein Atmega ist kaputt. Liegt das an meinen Änderungen?

Also lass es besser bleiben. Du weißt ja noch nicht einmal, welche 
Informationen du geben musst, damit man dir helfen kann.

von Yannic (Gast)


Lesenswert?

Wieso sollte es hier nicht rein passen PC Programmierung kann man 
durchaus als Programmieren MIT dem Pc deuten.

Woher soll denn jemand der noch nie mit C Programmiert hat sondern mit 
Basecom wissen wie man was in C kompiliert ?

Bei basecom hatte ich bisher nie 3 verschiedene Datei ngehabt die 
miteinander arbeiten.

Das ich 142 Fehler durch änderungen in den Code bekomme bezweifel ich 
dann doch stark, da ja glücklicherweis enur ein paar Werte geändert und 
nichts umgeschrieben werden muss.


3. Kommt wohl auch eher nicht in Frage solange ich ihn mir nicht selber 
kaputt fuse.

Achso nebenbei würde mich mal Interessieren was du mit deinem text nun 
ausdrücken wolltest ? In der Zeit die du gebraucht hast um deinen hoch 
niveau vollen Text zu verfassen hättest du auch einfach eine antwort 
geben können die mir weitergeholfen hätte. Naja aber du bist sicher 
sowieso allwissend.

Meine Frage ist doch einfach nur die Datein lcd.h lcd.c lcd_test.c und 
ein makefile.

Die Datei lcd.h habe ich jetzt angepasst.

Nun ist die frage was muss ich jetzt genau mit den 4 Datein machen umm 
daraus eine Hex zu bekommen ?

Bitte diesmal um eine sachliche Antwort.

von namenlos (Gast)


Lesenswert?

>Wieso sollte es hier nicht rein passen PC Programmierung kann man
>durchaus als Programmieren MIT dem Pc deuten.
Deuten kannst du viel. Wenn du die Aufteilung anders deutest als wir, 
die wir hier regelmäßig antworten, solltest du aber nicht frech werden, 
sondern unsere Ratschläge befolgen.

>Woher soll denn jemand der noch nie mit C Programmiert hat sondern mit
>Basecom wissen wie man was in C kompiliert ?
Daher mein Ratschlag:
>>Leider hab ich keinerlei Erfahrungen mit C.
>Dann sammel welche.

>Bei basecom hatte ich bisher nie 3 verschiedene Datei ngehabt die
>miteinander arbeiten.
Ja und? Willst du damit jetzt sagen, dass dein basecom (was immer das 
ist) Mist ist, oder dass du nicht richtig damit umgehen konntest?

>Das ich 142 Fehler durch änderungen in den Code bekomme bezweifel ich
>dann doch stark, da ja glücklicherweis enur ein paar Werte geändert und
>nichts umgeschrieben werden muss.
Da wirst du dich aber noch wundern...

>3. Kommt wohl auch eher nicht in Frage solange ich ihn mir nicht selber
>kaputt fuse.
Dann hast du ja nochmal Glück!

>Achso nebenbei würde mich mal Interessieren was du mit deinem text nun
>ausdrücken wolltest ?
Haargenau, was ich schrieb:
>Bastel etwas, das deinem Können angemessen ist, oder wechsel dein Hobby.

>In der Zeit die du gebraucht hast um deinen hoch niveau vollen Text zu >verfassen 
hättest du auch einfach eine antwort geben können die mir >weitergeholfen hätte.
Hätte ich nicht, weil du keine notwendigen Infos herausrückst.

>Naja aber du bist sicher sowieso allwissend.

>Meine Frage ist doch einfach nur die Datein lcd.h lcd.c lcd_test.c und
>ein makefile.
Gute Frage. Meine Antwort ist auch 4 Dateien.

>Die Datei lcd.h habe ich jetzt angepasst.
>
>Nun ist die frage was muss ich jetzt genau mit den 4 Datein machen umm
>daraus eine Hex zu bekommen ?
>Bitte diesmal um eine sachliche Antwort.

Nochmal, sehr sachlich:
>Bastel etwas, das deinem Können angemessen ist, oder wechsel dein Hobby.
Als Vorstufe dahin hilft sicher:
del lcd.*

Mann, mann, mann!

von John (Gast)


Lesenswert?

Hallo Yannic!

Welchen C-Compiler benutzt du denn? Und unter welchem Betriebssystem 
arbeitest du?

Außerdem spielt eine Rolle, welche Hardwaretools du verwendest, wenn du 
eine Erklärung sozusagen für "Dummies" suchst.

C ist eigentlich viel einfacher und logischer als Basic, nur wer in 
Basic angefangen hat, versaut sich damit oft sein logische Denkvermögen 
für den Rest des Lebens. Hoffentlich ist es bei dir noch nicht so weit.

Grüße
John

von Yannic (Gast)


Angehängte Dateien:

Lesenswert?

Hi ich arbeite auf XP Home Ebene.
Als Programm hatte ich jetzt WIN AVR installiert.

Im grundegenommen muss ich doch nur die beiden Blöcke anpassen oder ?

#define XTAL 4000000

#define LCD_LINES           2     /**< number of visible lines of the 
display */
#define LCD_DISP_LENGTH    16     /**< visibles characters per line of 
the display */
#define LCD_LINE_LENGTH  0x40     /**< internal line length of the 
display    */
#define LCD_START_LINE1  0x00     /**< DDRAM address of first char of 
line 1 */
#define LCD_START_LINE2  0x40     /**< DDRAM address of first char of 
line 2 */
#define LCD_START_LINE3  0x14     /**< DDRAM address of first char of 
line 3 */
#define LCD_START_LINE4  0x54     /**< DDRAM address of first char of 
line 4 */
#define LCD_WRAP_LINES      0     /**< 0: no wrap, 1: wrap at end of 
visibile line */

#define LCD_PORT         PORTA        /**< port for the LCD lines   */
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
#define LCD_DATA0_PIN    0            /**< pin for 4bit data bit 0  */
#define LCD_DATA1_PIN    1            /**< pin for 4bit data bit 1  */
#define LCD_DATA2_PIN    2            /**< pin for 4bit data bit 2  */
#define LCD_DATA3_PIN    3            /**< pin for 4bit data bit 3  */
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
#define LCD_RS_PIN       4            /**< pin  for RS line         */
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
#define LCD_RW_PIN       5            /**< pin  for RW line         */
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
#define LCD_E_PIN        6            /**< pin  for Enable line     */

Welche Angaben braucht ihr denn sonst noch so ?

von John (Gast)


Lesenswert?

Sag mal, kannst du nicht lesen? Ich glaube nicht, daß sich sich die 
anderen Forumsteilnehmer gerne verarschen lassen. Ich jedenfalls nicht. 
Namenlos hat dir anscheinend ganz richtig geantwortet.

John

von Sven Rüttgers (Gast)


Lesenswert?

John und namenlos haben es wahrlich nicht leicht, Dir die Tatsachen aus 
der Nase zu ziehen. Wie auch immer.

Lies Dein WinAVR-Tutorial noch einmal, dann verstehst Du das 
Kompilieren. Allerdings ist es nicht damit getan, ein paar Zeilen in 
lcd.h unmotiviert auszuwechseln. In C hängt alles etwas enger zusammen. 
Mit den Headern mußt Du also auch Deklarationen und Implementationen 
anpassen, dann könnte es klappen. Sonst bekommst Du tatsächlich zig 
Fehler, wie Dir vielleicht schon aufgefallen ist.

Du hast jetzt alle Antworten, die man Dir auf deine spärlichen 
Informationen geben kann.

sr

von Gast (Gast)


Lesenswert?

Ich habe nur zwei Fragen:
1. benutzt du als Designumgebung AVR-Studio?
2. Siehst du auf dem Display schon ein eine schwarze Linie.

Wenn das passt, kann ich mal schauen, dass ich ein Projekt zusammen 
bekomme, dass ausreichen dürfte, dein Hallo zu erzeugen. Die 
Informationen, die du gegeben hast, sind ausreichend. Ich weiß, dass man 
an einem Beispiel besser sehen kann, wie man es machen kann. Doofe und 
arrogante Antworten geben kann dagegen jeder. Das ist in den deutschen 
Foren normal. Da lässt man sich über die Person, anstatt über das 
Problem aus.

von ___ (Gast)


Lesenswert?

>1. benutzt du als Designumgebung AVR-Studio?
Nein, sondern WIN AVR

>2. Siehst du auf dem Display schon ein eine schwarze Linie.
Es ist ein Zeichendisplay, kein Grafikdisplay.

Tolle Hilfe!

Aber schau mal, daß du dein Projekt zusammenbekommst.

von Gast (Gast)


Lesenswert?

>Nein, sondern WIN AVR

WinAVR lässt sich in AVR-Studio integrieren.

>Es ist ein Zeichendisplay, kein Grafikdisplay.

Es ist ein alphanumerisches Display. Mit Anlegen der Spannung und 
richtigem Kontrast, wird die erste Zeile als schwarze Linie dargestellt.

Tolle Hilfe!

Bisher war es noch keine Hilfe, sondern fragen stellen. Warum hängst du 
dich eigentlich rein, wenn du offensichtlich keinerlei Ahnung vom AVR, 
vom AVR-Studio und von Elektronik hast?

von ___ (Gast)


Lesenswert?

>richtigem Kontrast, wird die erste Zeile als schwarze Linie dargestellt.

Ich weiß nicht, was du mit deinem kaputten Display machst, aber wenn die 
erste Zeile schwarz ist, sollte das einen Balken ergeben und keine 
Linie.

>Warum hängst du dich eigentlich rein, wenn du offensichtlich keinerlei >Ahnung 
vom AVR, vom AVR-Studio und von Elektronik hast?

Dich hatte auch gar keiner gefragt. Aber warum antwortest du eigentlich, 
wenn du offensichtlich nicht lesen kannst?

von ___ (Gast)


Lesenswert?

Ok, nehms zurück. Hab gesehen, was du gemeint hast. Sorry, bin ziemlich 
doof in dieser Hinsicht und hab wirklich nur wenig Ahnung.

von ___ (Gast)


Lesenswert?

Jetzt hast du es mir aber gegeben.

von Ulrich (Gast)


Lesenswert?

Ich wäre bereit dir das gewünschte Beispiel zu erstellen.
Aber meine Zeit ist kostbar und auch ich lasse mich sozusagen nicht 
verarschen.....

Poste mir ein fertiges Projekt in dem jeder von dir verwendete pin (die 
zum lcd)nacheinander von low nach high und von hig nach low wechselt. 
mit 10ms pause dazwischen.
Und auch wenn du winavr installiert hast machs trotzdem im avrstudio. Da 
kann man nämlich gleich gaaaanz easy debugen und die Sache mit dem 
makefile wird dir abgenommen.

Wenn du das net hín bekommst dann wird das mit dem LCD auf jedenfall nix 
und folgender Spruch greift:
"Bastel etwas, das deinem Können angemessen ist, oder wechsel dein 
Hobby."

Mfg
Ulrich

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.