Hi Leute, momentan versuche ich ein 2x16 Zeichen Display mit meinem Atmega32 anzusteuern. So ich habe also alles angeschlossen und bei den 2 Dateien lcd-routines.h und lcd-routines.c von dieser Seite copy/paste gemacht, und sie mir so erstellt. Das Beispielprogramm auch kopiert und compiliert.... nix passiert. In dem Tutorial lese ich die ganze Zeit: // Anpassungen im makefile: // ATMega8 => MCU=atmega8 im makefile einstellen // lcd-routines.c in SRC = ... Zeile anhängen So aber was genau ist denn nun dieses Makefile????? Muss ich mir die Datei selber schreiben oder bearbeite ich mir die makefile Datei aus dem Projektordner von meinem AtmelStudio? Ich häng da momentan echt fest und bitte um eure Hilfe. Gruß Jo
Nach dem Copy Past muss die Datei in der Regel an deine Hardware angepasst werden. Das Makefile macht das AVR Studio automatisch.
Düsendieb schrieb: > Nach dem Copy Past muss die Datei in der Regel an deine Hardware > angepasst werden. Welche Datei muss angepasst werden? Die lcd-routines.c/-.h? Dort kann ich außer der Frequenz doch nichts Hardware mäßiges einstellen?!
Johannes Berger schrieb: > Düsendieb schrieb: >> Nach dem Copy Past muss die Datei in der Regel an deine Hardware >> angepasst werden. > > Welche Datei muss angepasst werden? Die lcd-routines.c/-.h? > > Dort kann ich außer der Frequenz doch nichts Hardware mäßiges > einstellen?! Doch die Portzuordnungen.
cyblord ---- schrieb: > Doch die Portzuordnungen. Ja aber nur ob PortD oder Portc .... Diese Einstellung habe ich so belassen mir geht es eher um diese Aussage: // Anpassungen im makefile: // ATMega8 => MCU=atmega8 im makefile einstellen // lcd-routines.c in SRC = ... Zeile anhängen
Johannes Berger schrieb: > cyblord ---- schrieb: >> Doch die Portzuordnungen. > > Ja aber nur ob PortD oder Portc .... Nö. Nicht nur. Auch die einzelnen Leitungen (R/S R/W E) sind in der Regel konfigurierbar. Genauso wie die 4 Datenleitungen. Wobei sich bei letzterem es sich auch oft empfiehlt einen kurzen Blick auf die zentrale Schreibroutine zu werfen, ob die auch so geschrieben ist, dass man die Lage der Datenleitungen auch wirklich anpassen kann. PS: Auch ist es meistens eine gute Idee zu kontrollieren, wie die betreffenden Routinen die diversen Frequenzanforderungen bzw. die davon abhängigen Wartezeiten realisieren. Meistens wird dazu das F_CPU Makro mitbenutzt, das man tunlichst bei den Compilereinstellungen im AVR-Studio angibt und nicht auf Einzelfile-Basis. Auch ist es eine gute Idee, wenn man nach dem 'Build' mal die Output Fenster etwas genauer kontrolliert, ob auch alles compiliert bzw. gelinkt wurde und ob es irgendwelche Warnungen oder gar Fehler gab. > mir geht es eher um diese Aussage: > > // Anpassungen im makefile: > // ATMega8 => MCU=atmega8 im makefile einstellen > // lcd-routines.c in SRC = ... Zeile anhängen Wenn du AVR-Studio benutzt, brauchst du dich um das Makefile nicht kümmern. Soweit klar? Du fügst einfach alle *.c Files zum Projekt dazu und AVR-Studio kümmert isch um den Rest.
:
Bearbeitet durch User
Johannes Berger schrieb: > cyblord ---- schrieb: >> Doch die Portzuordnungen. > > Ja aber nur ob PortD oder Portc .... > Diese Einstellung habe ich so belassen > > mir geht es eher um diese Aussage: > > // Anpassungen im makefile: > // ATMega8 => MCU=atmega8 im makefile einstellen > // lcd-routines.c in SRC = ... Zeile anhängen Diese Schritte sind für das manuelle Erzeugen des makefiles. Wenn du Atmel Studio oder ne andere IDE nutzt, entfällt das. Weil du 1. die MCU dort einstellst, und 2. die gewünschten Source-Dateien einfach zum Projekt hinzufügst. Somit sind diese beiden Schritte nicht notwendig. Aber du postest ja auch keinen Link wo du das her hast. Nicht jeder hier weiß was in irgendeinem Tutorial (auch auf dieser Seite) beschrieben ist. Und ob das Tutorial für dich geeignet ist, weiß auch niemand. gruß cyblord
Karl Heinz Buchegger schrieb: > Auch die einzelnen Leitungen (R/S R/W E) sind in der Regel > konfigurierbar. Genauso wie die 4 Datenleitungen. Wobei sich bei > letzterem es sich auch oft empfiehlt einen kurzen Blick auf die zentrale > Schreibroutine zu werfen, ob die auch so geschrieben ist, dass man die > Lage der Datenleitungen auch wirklich anpassen kann. Ah, ja ok. Auch diese Einstellungen habe ich so belassen. In der Beispiel Datei steht aber auch: #include "lcd-routines.h" Wenn ich das jedoch schreibe bekomme ich viele viele Fehlermeldungen wie z.B. Error 2 undefined reference to `lcd_data' usw. Deswegen habe ich dies in #include "lcd-routines.c" umgeändert. Die Fehlermeldungen verschwinden zwar aber es passiert doch nichts. Deswegen dachte ich das ich noch etwas im Makefile umändern muss. Jetzt bin ich wieder bei 0.
cyblord ---- schrieb: > Aber du postest ja > auch keinen Link wo du das her hast. Nicht jeder hier weiß was in > irgendeinem Tutorial (auch auf dieser Seite) beschrieben ist. Und ob das > Tutorial für dich geeignet ist, weiß auch niemand. Sry, hier der Link http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung#Datei_lcd-routines.h
Johannes Berger schrieb: > Jetzt bin ich wieder bei 0. Völlig zurecht. Lerne C, lerne mit deiner IDE umzugehen. Dann verwende die LCD-Routinen. So wird ein Schuh draus. Copy und Paste ohne Verstand und ohne Ahnung was du da eigentlich machst, bringt dir nichts. Hast du denn schon überhaupt mal ein kleines Programm SELBST im Atmel Studio (oder mit was arbeitest du?) geschrieben? gruß cyblord
Johannes Berger schrieb: > Karl Heinz Buchegger schrieb: >> Auch die einzelnen Leitungen (R/S R/W E) sind in der Regel >> konfigurierbar. Genauso wie die 4 Datenleitungen. Wobei sich bei >> letzterem es sich auch oft empfiehlt einen kurzen Blick auf die zentrale >> Schreibroutine zu werfen, ob die auch so geschrieben ist, dass man die >> Lage der Datenleitungen auch wirklich anpassen kann. > > Ah, ja ok. Auch diese Einstellungen habe ich so belassen. Schön. Und? Stimmt das auch mit deiner Hardware überein? > Wenn ich das jedoch schreibe bekomme ich viele viele Fehlermeldungen wie > z.B. > > Error 2 undefined reference to `lcd_data' usw. also hast du die Datei lcd_routines.c nicht mit ins Projekt aufgenommen. Wie lange sollen wir uns jetzt eigentlich noch den Mund fusselig reden, bis du endlich mal übder em Projektbaum die rechte Maustaste drückst, dort den Punkt "Add" aufrufst, die Datei lcd-routines.c auswählst und die so zum Projekt mit dazunimmst? Das ist eine Sache auf 10 Sekunden. > Deswegen habe ich dies in #include "lcd-routines.c" umgeändert. Das war der falsche Weg. Genau das willst du nicht machen. > Die Fehlermeldungen verschwinden zwar aber es passiert doch nichts. 2 grundsätzliche Dinge: erstens muss mal der Proejtkaufbau stimmen. *.c Files werden zum Projekt hinzugefügt und ncith includiert. zweitens musst du natürlich die Konfiguration der lcd routinen an deine konkrekte Hardware anpassen.
Johannes Berger schrieb: > cyblord ---- schrieb: >> Aber du postest ja >> auch keinen Link wo du das her hast. Nicht jeder hier weiß was in >> irgendeinem Tutorial (auch auf dieser Seite) beschrieben ist. Und ob das >> Tutorial für dich geeignet ist, weiß auch niemand. > > Sry, hier der Link > > http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung#Datei_lcd-routines.h Und was steht da? > Der folgende Satz von Ansteuerroutinen für ein Text-LCD ist in der Datei > lcd-routines.c zusammengefasst. Diese Datei muss man beim Einrichten > zusätzlich zum eigenen Hauptprogramm in sein Projekt aufnehmen. Dies > geschieht beim AVR Studio unter Source Files im Fenster AVR GCC oder bei > WinAVR im Makefile (z. B. durch SRC += lcd-routines.c). Warum muss man hier alles nochmal schreiben, obwohl es im Tut schon steht. Da steht ein ODER. Entweder im Studio hinzufügen, ODER im Makfile ändern.
cyblord ---- schrieb: > Warum muss man hier alles nochmal schreiben, obwohl es im Tut schon > steht. Da steht ein ODER. Entweder im Studio hinzufügen, ODER im Makfile > ändern. Ich verwende halt AtmelStudio und da gibbet keinen Projektbaum. Aber ich werde versuchen es über AVR Studio zu realisieren. Vielen Dank schon mal für die Hilfe. Aber einen hier immer wie einen Deppen hinzustellen finde ich ist der falsche Weg. Ich setze mich mit dem thema sehr gut auseinander, stehe allerdings unter Zeitdruck und habe keine Hilfe außer dem Fehlerhaften Internet. Ich frag ja nicht umsonst...
Johannes Berger schrieb: > Vielen Dank schon mal für die Hilfe. > Aber einen hier immer wie einen Deppen hinzustellen finde ich ist der > falsche Weg. Ich setze mich mit dem thema sehr gut auseinander, stehe > allerdings unter Zeitdruck und habe keine Hilfe außer dem Fehlerhaften > Internet. Ich frag ja nicht umsonst... Aber du fragst das falsche. Wenn du AVR-Studio benutzt, dann ist das Makefile für dich uninteressant.
Johannes Berger schrieb: > Ich verwende halt AtmelStudio und da gibbet keinen Projektbaum. > Aber ich werde versuchen es über AVR Studio zu realisieren. AtmelStudio = AVR Studio. Wurde nur umbenannt. Und es muss einen Projektbaum geben. Dort müssen alle Dateien zu sehen. Quelldateien, Header usw. > Aber einen hier immer wie einen Deppen hinzustellen finde ich ist der > falsche Weg. Hat niemand gesagt. Aber es nervt, wenns im Tutorial steht, aber man trotzdem nochmal das gleiche schreiben muss. > Ich setze mich mit dem thema sehr gut auseinander, stehe > allerdings unter Zeitdruck und habe keine Hilfe außer dem Fehlerhaften > Internet. Ich frag ja nicht umsonst... Das Problem ist, dir scheint es an elementarem Grundwissen zu fehlen. Und zwar sowohl im Bezug auf C, als auch im Bezug auf das AtmelStudio. Und bevor das nicht sitzt, brauchst du mit lcd gar nicht erst anfangen. Auch nicht mit fertigen libs. Und Zeitdruck hin oder her. Sowas lässt sich nicht beschleunigen. Daher auch meien Frage: Was kannst du denn in dem Bereich schon? Schonmal nen blinkende LED komplett selber im Studio zum laufen gebracht? gruß cyblord
cyblord ---- schrieb: > Daher auch meien Frage: Was kannst du denn in dem Bereich schon? > Schonmal nen blinkende LED komplett selber im Studio zum laufen > gebracht? > > gruß cyblord Ja durchaus. Ich habe mich anfangs schon eher mit den kleineren Sachen beschäftigt. Es ging auch schon weiter über Analogwerte verarbeitung. Aber wenn man alleine nur mit Hilfe des Internets arbeitet kommt man doch schon mal an seine Grenzen. Und dann würde ich mich gern über Hilfreiche Antworten freuen anstatt immer die Verweise auf Tutorials etc... Hätten diese mir geholfen würde ich hier nicht fragen. Und Grundlagen etc. hin oder her... dieses Display muss bald mal laufen ;) gruß
Johannes Berger schrieb: > Ja durchaus. Ich habe mich anfangs schon eher mit den kleineren Sachen > beschäftigt. Es ging auch schon weiter über Analogwerte verarbeitung. Und dann sind so Kinkerlitzchen wie Dateien im Studio hinzufügen und Header-Dateien ein Problem? > Aber wenn man alleine nur mit Hilfe des Internets arbeitet kommt man > doch schon mal an seine Grenzen. Nein ganz sicher. Da steht alles was man wissen muss. Aber Erfahrung ersetzt es nunmal nicht. Und die bekommt man Schritt für Schritt. > Und dann würde ich mich gern über > Hilfreiche Antworten freuen anstatt immer die Verweise auf Tutorials > etc... Naja soll man nun jedem einzeln immer wieder und wieder erklären wie das Studio funktioniert, wie C funktioniert, was Header-Dateien sind und wie lcd routinen Funktionieren? Frag was konkretes, dann bekommst du eine konkrete Antwort. > Hätten diese mir geholfen würde ich hier nicht fragen. Naja. Du fragst hier, weil du keine Zeit hast, die ordentlich mit dem Thema zu beschäftigen. > Und Grundlagen etc. hin oder her... dieses Display muss bald mal laufen > ;) Tja und genau das geht so nicht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.