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
>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.
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.
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.
>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!
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
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 ?
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
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
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.
>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.
>Nein, sondern WIN AVRWinAVR 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?
>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?
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