Hilfe für einen Kompletten Anfänger

Gast #825477
Lesenswert?

Hallo,

ich möchte jetzt damit beginnen, mich mit ATMega Prozessoren 
ausseinanderzusetzen. Hierzu habe ich mir das

AMTEL Evalutionsboard von Pollin

und das

Addon Board mit Display von Pollin

gekauft.

Dazu habe ich mir ATMeage 8, 16 und 32 Prozessorgen gekauft.

Nun habe ich alledings keine Ahnung wie man das ganze überhaupt 
programmiert.

Könnte mit jemand eventuell einen Link zu einem Toturial schicken?

Mit welcher Software programmiert man die Microprozessoren, mit welcher 
Flasht man sie?

Welche Schnitstelle auf dem Evalutionsboard soll ich nehmen (die RS232 
oder die ISP)?

Kann mir jemand ein Testprogramm zum Testen des ganzen Evalutionboardes 
und des Addonboardes (DISPLAY) schicken, damit ich sehe ob das alles 
überhaupt funktioniert?

Mit welchen der Microprozessoren (ATMega 8, 16 oder 32) soll ich meine 
ersten Versuche wagen=



Ja ich weiß das sind eine Menge fragen. Würde mich sehr über schnelle 
Antworten und Hilfe freuen.


Grüße
Sebastian
Gast #825480
Lesenswert?

Hast du schon irgendwelche Programmiererfahrung?

Es gibt verschiedene Programmiersprachen, mit denen Du deinen Controller 
programmieren kannst:

Die 3 beliebtesten für ATmel-Controller sind wohl:

C: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Assembler: http://www.mikrocontroller.net/articles/AVR-Tutorial
Basic: http://www.roboternetz.de/wissen/index.php/Bascom

Programmieren tust du den Controller am besten mit einem ISP-Adapter.

Mit welchem Controller du Anfängst ist ziemlich egal, für die 
Einstiegsprojekte (LED leuchten lassen, ...) sind alle drei geeignet.

ATMega16 und 32 sind, bis auf die Speichergröße, identisch.

Eine gute Anlaufstelle für den Anfang hast du hier gefunden, aber bitte 
versuche auch mal, selbst ein paar Dinge herauszufinden. Anfangen zu 
lesen kannst du hier:
http://www.mikrocontroller.net/articles/Kategorie:AVR-Tutorial
und natürlich bei Google. ;)
Gast #825978
Lesenswert?

so ich hab jetzt bissler rumprobiert und habe das Evulationsboard zum 
laufen bekommen (hab das Testprogramm von pollin draufgeflasht.

jetzt habe ich allerdings eine Frage:

Wie initialisiere ich das Display auf dem Addon Board.

Es ist folgendes: LCD-Modul TC1602A-08

gibte es auch auf der pollin Seite.


Danke schonmal für euere Hilfe.

Grüße
Sebastian
Gast #826002
Lesenswert?

Das Beste ist, wenn du erstmal ein paar LED's zum blinken bringst und 
etwas mit den Tastern anstellst. Erst der nächste Schritt (wenn nicht 
gar der übernächste) Schritt wäre dann das Display. Als Literatur würde 
ich auch die Tutorials dieser Seite empfehlen. (Ohne jetzt eine neue 
Debatte über ASM vs. C vs. Basic lostreten zu wollen, ) Eine Liste der 
benötigten Software:

 - AVR Studio, Programmierumgebung.
     http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.13SP2.exe

 - AVR-GCC. Compiler, wenn du in C programmieren willst.
     http://downloads.sourceforge.net/winavr/WinAVR-20070525-install.exe?modtime=1180099243&big_mirror=0

 - Datenblatt des gewählten Controllers.
     http://www.atmel.com/dyn/products/datasheets.asp?family_id=607

Hab' ich was vergessen?
Gast #826048
Lesenswert?

Cool Danke

also ist da dieser HD44780 drin in meinem Display (darf ich fragen wo 
das steht damit ich das bei anderen Displays auch finden kann)?

OK ich werde euren Ratschlägen folgen und erstmal mit LEDs und Schaltern 
Spielen.
Gast #826097
Lesenswert?

Ah gut.


So jetzt hab ich das erste Problem:

NIch habe jetzt folgendes Programm aus dem Toturial rauskpiert und 
möchte es nun Assemblieren:

.include "m16def.inc"

ldi r16, 0xFF
out DDRB, r16

ldi R16, 0B11111100
out PORTB, r16

ende: rjmp ende


Wenn ich es nun versuche mit wavrasm zu Assemblieren kommt folgender 
Fehler:

m16def.inc(39) : error : Illegal Device Name


Ich habe die Datei aber aus dem AVR Ordner da reinkopiert.
Kann mir jemand helfen?
(Firma: FHFB) #826152
Lesenswert?

Hi!

Hab das Pollin Board auch mal zusammengelötet.
Warum benutzt du nicht WinAvr?
Da ist ein Programmers Notepad dabei, mit dem ich z.B. code.
Und ein Makefile-Tool womit man dann ein Makefile generiert
und es in das Verzeichnis speichert, wo auch deine c-datei abgespeichert 
ist.

Da gibts auch gleich ne Einstellungsmöglichkeit für AVR_DUDE und für den 
COM-Port usw..
Ich habs auf Ponyser eingestellt.

 So damit lässt sich das Programm aus dem Programmer Notepad
über den Menüeintrag Tool->Make all compilieren und dann über Tool->Make 
Program auf das Board bringen. Ich verwende den ISP-Eingang, du 
wahrscheinlich auch.

Für WinAvr kann ich das Tut von dieser seite hier nur empfehlen. Damit 
bin ich auch in AVR-Welt eingestiegen.

Gruß
Gast #826254
Lesenswert?

Hab das flashen jetzt hinbekommen.

Folgendes mach der Folgende Code:

.include "m16def.inc"

ldi r16, 0x00
out DDRA, r16

ldi r16, 0b11111100
out PORTA, r16

ende: rjmp ende


8 LEDs sind an PA1 - PA8 angeschlossen

Die ersten zwei Leuchten nicht. Die restlichen leuchten. Wenn ich das 
also richtig verstehe liest man das ganze von rechts nach links UND 1 
bedeutet HIGH, also 5V und 0 Bedeutet LOW also 0V.

Wenn da was Falsch ist bitte sagen :)

Mein Alte Frage bleibt trotzdem bestehen:
Gibt es hier irgendwo schon das Ganze Programm um mit dem ATMega 16 das 
LCD Display vom Pollin Board anzusteuern. (Kontakte am Chip sind egal da 
man die ja passend umstecken kann).
Gast #826308
Lesenswert?

gibt ja leider keine EDIT:

Ich will das Display Prog deswegen, damit ich testen kann ob alles 
funktioniert. Im moment zeigt das Display nur einen Schwarzen Strcik an 
(aufgeteilt in die einzelnen Zeichen). Aber nur in der ersten Zeile. 
Habe bereits das Script getestet das ich hier gefunden habe. Es 
funktioniert aber leider nicht :(


Please Help :)
Gast #826517
Lesenswert?

Also ich habe den Quelltext der 4 Bit variante übernommen... Nichts.

Ich hab gerade so eine Testsoftware gefunden. Jetzt verschwindet sogar 
der Balken. Bringt mir so aber nichts :(

Was bringt das eine LED Blinken zu lassen? Woran soll ich die 
anschließen?

Kann mir mal jemand den gesammten Quelltext schicken um das Display zu 
initialisieren und das etwas draufsteht`?
Gast #826521
Lesenswert?

Hallo Sebastian,

so wird das nichts.....

> Ich hab gerade so eine Testsoftware gefunden. Jetzt verschwindet sogar
> der Balken. Bringt mir so aber nichts :(

Da wurde das Display wahrscheinlich richtig initialisiert und Du hättest 
Zeichen anzeigen können

> Was bringt das eine LED Blinken zu lassen? Woran soll ich die
> anschließen?

Es bringt, dass Du weisst, ob der Controller läuft oder sich aufgehangen 
hat - ausserdem kannst Du abschätzen, ob der Takt ungefähr dem 
erwarteten entspricht.

Du kannst später zum Debuggen bei Aufruf einer Funktion die LED 
anschalten und anschliessend wieder aus.

Wenn Du nichts siehst, kannst Du keine Fehler finden.

Gruss Otto
Gast #826524
Lesenswert?

Hab grad die Testsoftware nochmal gestartet und gesehen das ich einen 
PIN vergessen hatte. Jetzt erscheint sogar ein Text :):)


Jetzt müsste ich das nur noch selber schaffen.

Könnte mir mal jemand einen initalisierungs code schicken der dann 
irgendwas anzeigt (damit ich damit rumprobieren kann). Fände ich sehr 
gut ^^

also das Display funzt :)
Gast #826559
Lesenswert?

Oder noch besser in normalen Assembler.

Das versteh ich momentan am meisten und es hat einen besseren Editor 
finde ich :)

Wäre sehr nett wenn sich jemand die Mühe machen könnte und mir den 
weiter oben genannten Code machen könnte, damit ich damit ein wenig 
spielen könnte.

Sorry wegen so vielen Posts aber es gibt leider keinen Edit Button :(

Habe mich jetzt entgültig für Assembler entschieden (besseres Toturial)
Gast #826564
Lesenswert?

Ach verdammt wiso gibt es hier keinen Edit Button

Hab grad nen totalen schmarn zusammen geschrieben. Ich meinte natürlich 
AVR-GCC.

Sorry wenn das jetzt für verwirrung sorgt :(



Ich habe bereits erfarhungen in C und deswegen eigenet sich das am 
Besten.


Also:

Wenn sich jemand dazu bereiterklären würde mir eine TEstprogramm für das 
genannte Display zu schicken, indem es initialisiert wird und 
www.sebimax.de ausgibt wäre ich sehr dankbar. Damit kann ich mich dann 
erstmal austoben.

Natürlich in AVR-GCC.

Ein EditButton wäre echt cool :)

Grüße
Sebastian
#826886
Lesenswert?

Hi!
Also, ich habe einmal eine C-Library geschrieben, die mit einem 8051er 
solche Displays ansteuert.

Du müsstest nur die Portpins anpassen, dann läuft's auch bei dir. Meine 
Version ist für 4bit-anschgeschlossene Displays gedacht...

Wenn du ein Beispiel für die Anwendung davon willst, lade ich dir das 
gerne auch noch hoch ;)

Chris

Edit: Die Idee ist nicht zu 100% von mir. Ich habe mal eine ähnliche 
Bibliothek irgendwo im Internet gefunden und mir das ganze selbst nach 
meinen Wünschen nachprogrammiert...
Angehängte Dateien:
#826891
Lesenswert?

wie gesagt, Über ein Testprogramm würde ich mich sehr freuen.

Das mit den Pins umstecken ist ja kein Problem, dam an ja auf dem Board 
alles so umstecken kann wie man will.

Würde mich sehr darüber freuen :)

Edit: hab grad gesehen das du sie schon hochgelade hast :)

Danke schonmal. Werd ich mir jetzt mal ansehen

Edit2: Da wird eine reg52.h eingefügt. Wo finde ich diese? Was bringt 
diese Dattei?
Kannst du mir es komplett geben, so das ich es nur noch Flashen brauch 
und es funzt und dann weiterprogrammieren kann ? Kannste mir sagen wie 
ich das ganze am ATMega 16 anschließe?
#826897
Lesenswert?

Die reg52.h ist die Definitionsdatei von meinem Mikrocontroller. Diese 
Dateien werden von den meisten Compilern für die kompatiblen Controller 
mitgeliefert. Du müsstest also eine passende für deinen finden.
Ich habe hier leider keine Möglichkeit für AVR zu kompilieren, aber 
folgendes Programm müsstest du auch selbst kompilieren können:
1
#include <reg52.h> //Hier musst du die passende Datei für deinen Controller angeben
2
#include <LCD_Lib.c> //Ist meine vorhin hochgeladene Datei
3

4
code char z1[21]={"*LCD-DISPLAY - TEST*"}; //Beliebiger Text in Zeile 1
5
code char z2[21]={"********************"}; //Beliebiger Text in Zeile 2
6
/* Die Texte dürfen nicht länger als eine Display-Zeile sein.
7
Die Länge ist hier "21", da dadurch automatisch am Ende "\0" angehängt
8
wird, was meine Prozeduren als Ende erkennen.
9
Also 20 Zeichen -> Array der Länge 21 */
10

11
lcd_ini(); //Initialisieren
12
zeit_l(); //Kurze Verarbeitungszeit
13

14
goto_z(1); //Zu Zeile 1 springen
15
print_text(z1); //Zeile 1 ausgeben
16

17
goto_z(2); //...
18
print_text(z2); //...
19

20

21
while (1); //Endlosschleife... ;)

So müsste das erstmal klappen...

Chris
#826903
Lesenswert?

Okay dann werd ich das ganze mal in AVR - GCC anpassen :)

ICh melde mich wenn es funktioniert oder auch wenn es nicht funzt :)

Edit: @SeffenU1: Ich habe bisher jede Programmiersprache durch anschauen 
von fertigen Quelltexten gerlernt. Und bisher immer erfolg gehabt. Ich 
nutze diese Quelltexte ja auch nur für die ersten Tests. Im Endefekt 
werde ich dann eh meine eigenen Texte schreiben (sobald ich es kann)
#826907
Lesenswert?

Also, nochmal zum Anschließen:
Du musst die Stelle lcd_lib.c anpassen:
1
sfr  LCD    = 0x80;    //Port 0 als Display-Ausgang
2
sbit  LCD_E    = LCD^4;    //Portpin P0.4 ist "Enable"
3
sbit  LCD_RS  = LCD^5;    //Portpin P0.5 ist "Register - Select"
4
sbit  LCD_RW  = LCD^6;    //Portpin P0.6 ist "READ - WRITE"
5
sbit  LCD_BG  = LCD^7;    //Portpin P0.7 ist Hintergrundbeleuchtung
Die 0x80 ist bei mir die Addresse von Port0. In deinen Datenblättern 
müsste die passende für deinen Controller stehen.

> LCD^4 bedeutet, dass Pin5 für den Enable-Pin des Displays verwendet wird
> LCD^5 bedeutet, dass Pin6 für den RS-Pin des Displays genutzt wird
> LCD^6 ist Pin7 und mit R/W des Displays verbunden
> LCD^7 ins Pin8 und muss bei dir nicht beschaltet werden. Ich habe ihn zur 
Steuerung der Hintergrundbeleuchtung verwendet.
Pins1-4 sind mit den Datenpins 4-7 vom Display verbunden...

Chris

PS: Das ganze funktioniert übrigens mit dem "RIDE"-Compiler (von 
Raisonance) und einem AT89S52 (8051er) von Atmel perfekt ;)
#826917
Lesenswert?

" sfr  LCD    = 0x80;    //Port 0 als Display-Ausgang
sbit  LCD_E    = LCD^4;    //Portpin P0.4 ist "Enable"
sbit  LCD_RS  = LCD^5;    //Portpin P0.5 ist "Register - Select"
sbit  LCD_RW  = LCD^6;    //Portpin P0.6 ist "READ - WRITE"
sbit  LCD_BG  = LCD^7;    //Portpin P0.7 ist Hintergrundbeleuchtung
sbit  LCD_BF  = LCD^3;    //Portpin P0.3 ist DatenPin7, enthält aber bei 
LCD_RS=0 und LCD_RW=1 den "Busy-Flag"

"


Woran soll ich das Display nun anschließen?? PA, PB, PC, .... ????
#826942
Lesenswert?

Oh mann ich komm mit dem Blöden Makefiles überhaupt nicht zurecht. Da 
kommen immer beschissene Fehlermeldungen. Aus dem Grund werde ich 
wahrscheinlich doch bei Assembler bleiben. Da funzt wenigstens der 
Compiler ^^. Also nochmal ein neuer Aufruf:

Hat jemand eine Initialisierung in Assembler die das Display 
initialisiert und etwas anzeigt (Text)?

Wäre nett wenn den jemand posten könnte.

Alternativ: Erklärt mir jemand warum meine Makefile immer den selben 
Fehler bringt:
> "make.exe" all
      0 [main] sh 2868 sync_with_child: child 1436(0x11C) died before 
initialization with status code 0x0
   9661 [main] sh 2868 sync_with_child: *** child state waiting for 
longjmp
/usr/bin/sh: fork: Resource temporarily unavailable
      0 [main] sh 1308 sync_with_child: child 3876(0x11C) died before 
initialization with status code 0x0
  27558 [main] sh 1308 sync_with_child: *** child state waiting for 
longjmp
/usr/bin/sh: fork: Resource temporarily unavailable

-------- begin --------
avr-gcc (WinAVR 20080402rc1) 4.3.0
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.


Compiling C: lcd-routines.c
avr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=./lcd-routines.lst  -std=gnu99 -Wundef 
-MMD -MP -MF .dep/lcd-routines.o.d lcd-routines.c -o lcd-routines.o
In file included from lcd-routines.c:2:
lcd-routines.h:15:1: warning: "F_CPU" redefined
<command-line>: warning: this is the location of the previous definition
lcd-routines.c: In function 'set_cursor':
lcd-routines.c:121: warning: 'tmp' may be used uninitialized in this 
function
lcd-routines.c: At top level:
lcd-routines.c:160: fatal error: opening dependency file 
.dep/lcd-routines.o.d: No such file or directory
compilation terminated.
make.exe: *** [lcd-routines.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00

Makefile im Anhang.

In den 2 weiteren Files kommt mein Quellcode (eimal als .c und die 
andere als .h)
Angehängte Dateien:
Persönliche Seite #827211
Lesenswert?

Sebastian H. wrote:
> Oh mann ich komm mit dem Blöden Makefiles überhaupt nicht zurecht. Da
> kommen immer beschissene Fehlermeldungen.

Eigentlich antworte ich nicht auf Postings mit dieser Ausdrucksweise.

Warum doch, hat nur mit dieser Zeile zu tun:

> avr-gcc (WinAVR 20080402rc1) 4.3.0

Anscheinend gibt es einen Versuchsballon für ein neues WinAVR. Diese 
Zeilen sehen allerdings nicht gut aus:

>> "make.exe" all
>       0 [main] sh 2868 sync_with_child: child 1436(0x11C) died before
> initialization with status code 0x0
>    9661 [main] sh 2868 sync_with_child: *** child state waiting for
> longjmp
> ...

Das sind Probleme, die früher schon unter MingGW bzw. Cygwin übersetzten 
Programmen aufgetaucht sind.

Edit: 
http://www.google.de/search?hl=de&q=sh+sync_with_child&btnG=Suche&meta=

Hier gibt es eindeutig Probleme mit den WiNAVR-Programmen, die von Make 
aufgerufen wurden, um den Sourcecode zu übersetzen.

Letztendlich führt das dazu, dass die Übersetzung nicht abgeschlossen 
werden konnte und deshalb auch keine Objektdatei erstellt wurde. Das 
führt dann zuerst zu einer Linker-Fehlermeldung (kann keine Ojektdatei 
finden) und dann zu einer Make-Fehlermeldung (Linker hat sich 
beschwert).

> lcd-routines.c: At top level:
> lcd-routines.c:160: fatal error: opening dependency file
> .dep/lcd-routines.o.d: No such file or directory
> compilation terminated.
> make.exe: *** [lcd-routines.o] Error 1
>
>> Process Exit Code: 2
>> Time Taken: 00:00

Mit der WinAVR Version 20071221 (GCC 4.2.2) kann dein Projekt mit 
obigem Makefile, lcd-routines.c und lcd-routines.h problemlos übersetzt 
werden.
#827218
Lesenswert?

Sry wegen den Ausdrucksweise (war bisserl stinkig weil ich 2 Stunden 
davor probiert hab und rein gar nix ging.

Ich lad mir jetzt mal die andere Version und teste es erneut. :)

Danke auch für das umwandeln. Werde ich auch testen und bescheid geben.


Danke (ich mag dieses Forum. Da wird einem sehr gut geholfen)


Edit: Leider funktioniert mein Code nicht. Es bleibt ein Schwarzer 
streife. Also stimmt in der initialisierung irgendwas nicht. Weiß da 
jemand weiter?

Grüße
Sebastian
#827234
Lesenswert?

So habe das ganze nochmal Probiert:


------- begin --------
avr-gcc (GCC) 4.2.2 (WinAVR 20071221)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.

Compiling C: lcd-routines.c
avr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=./lcd-routines.lst  -std=gnu99 -Wundef 
-MMD -MP -MF .dep/lcd-routines.o.d lcd-routines.c -o lcd-routines.o
In file included from lcd-routines.c:2:
lcd-routines.h:15:1: warning: "F_CPU" redefined
<command-line>: warning: this is the location of the previous definition
lcd-routines.c: In function 'lcd_enable':
lcd-routines.c:55: error: called object '_delay_us(5.0e+1)' is not a 
function
lcd-routines.c:60: error: called object '_delay_us(5.0e+1)' is not a 
function
lcd-routines.c:162:2: warning: no newline at end of file
lcd-routines.c: At top level:
lcd-routines.c:162: fatal error: opening dependency file 
.dep/lcd-routines.o.d: No such file or directory
compilation terminated.
make.exe: *** [lcd-routines.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00

kommt mit der Makefile im Anhang.

Habe mir jetzt die oben genannte Version geladen. Woher kommt diese 
Datei?

lcd-routines.c:162: fatal error: opening dependency file 
.dep/lcd-routines.o.d: No such file or directory
compilation terminated.

Wäre dankbar für weitere unterstützung bei diesem Problem und bei dem 
oben genannten Problem.
Angehängte Dateien:
Persönliche Seite #827277
Lesenswert?

Zwei Stunden Fehlersuche sind Peanuts. Da musst du noch dickfelliger 
werden oder fruher sinnvoll fragen ;-)

Gut ist, dass das ältere WinAVR auf deinem Rechner nicht abstürzt. 
Schlecht ist, dass du jetzt Änderungen im Sourcecode gemacht hast, die 
neue Übersetzungsfehler hervorrufen:

> lcd-routines.c:55: error: called object '_delay_us(5.0e+1)' is not a
> function
> lcd-routines.c:60: error: called object '_delay_us(5.0e+1)' is not a
> function

Du könntest mal statt _delay_us(5.0e+1) schreiben _delay_us(50). 
_delay_us(50) geht bei meinen Programmierexperimenten.

Und bitte angewöhnen, bei Fragen genau den Sourcecode anzugeben, der den 
Fehler oder die Probleme verursacht. Anders wird das Antworten zum 
Ratespiel, auf das sich nicht viele potenzielle Helfer einlassen.

ADD: Ein schwarzer Streifen im LCD kann mehrere Ursachen haben. Die 
banalste Ursache kann ein falsch eingestellter Kontrast sein. Eine 
dffizilere Ursache kann eine falsche Initialisierung des LCD-Controllers 
des LCDs sein.
#827284
Lesenswert?

OK also hab das geändert.

Folgender Fehler tritt mit der oben geschickten Makefile immer noch auf:

lcd-routines.c:162: fatal error: opening dependency file 
.dep/lcd-routines.o.d: No such file or directory

Aber die Datei gibt es ja gar net ^^ Die steht auch nirgendwo in der 
Makefile wenn ich mich net täusche.

Der oben genannte fehler:

> lcd-routines.c:55: error: called object '_delay_us(5.0e+1)' is not a
> function
> lcd-routines.c:60: error: called object '_delay_us(5.0e+1)' is not a
> function

lag daran das ich den Strichpunkt vergessen hatte ^^

Hier dann der gesammte Auszug:

------ begin --------
avr-gcc (GCC) 4.2.2 (WinAVR 20071221)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.


Compiling C: lcd-routines.c
avr-gcc -c -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=./lcd-routines.lst  -std=gnu99 -Wundef 
-MMD -MP -MF .dep/lcd-routines.o.d lcd-routines.c -o lcd-routines.o
In file included from lcd-routines.c:2:
lcd-routines.h:15:1: warning: "F_CPU" redefined
<command-line>: warning: this is the location of the previous definition
lcd-routines.c:162:2: warning: no newline at end of file
lcd-routines.c: In function 'set_cursor':
lcd-routines.c:123: warning: 'tmp' may be used uninitialized in this 
function
lcd-routines.c: At top level:
lcd-routines.c:162: fatal error: opening dependency file 
.dep/lcd-routines.o.d: No such file or directory
compilation terminated.
make.exe: *** [lcd-routines.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00
Persönliche Seite #827391
Lesenswert?

Sebastian H. wrote:

> Folgender Fehler tritt mit der oben geschickten Makefile immer noch auf:
>
> lcd-routines.c:162: fatal error: opening dependency file
> .dep/lcd-routines.o.d: No such file or directory
>
> Aber die Datei gibt es ja gar net ^^
> Die steht auch nirgendwo in der Makefile wenn ich mich net täusche.

Die Datei lcd-routines.o.d und der Ordner .dep werden vom AVR-GCC 
automatisch erstellt (s. Optionen -MMD -MP -MF .dep/lcd-routines.o.d im 
Makefile).

Es bringt nichts, dir ein anderes Makefile zu suchen. Das Makefile oben 
funktioniert und alle anderen Makefiles sind ähnlich aufgebaut.

Die Probleme liegen anderswo. Leider habe ich derzeit keine Idee wo, 
weil die Probleme hier nicht auftreten und mir deine Fehlermitschnitte 
nichts sagen.

Ich schlage vor, dass du mal die Programmierumgebung säuberst, indem du 
von Make die automatisch erzeugten Zwischendateien löschen lässt:

make clean

Dann startest du einen neuen Übersetzungsversuch

make all

Dann nachsehen, ob es das Verzeichnis .dep gibt (Probleme beim Erzeugen 
des Ordners?). Und ob eine Datei drin steht (Probleme beim Erzeugen der 
Datei?).
#827392
Lesenswert?

OK habe das gemacht.

Wenn ich make clean mache kommt folgendes:

> "make.exe" clean
      0 [main] sh 4600 sync_with_child: child 5048(0x11C) died before 
initialization with status code 0x0
    195 [main] sh 4600 sync_with_child: *** child state waiting for 
longjmp
/usr/bin/sh: fork: Resource temporarily unavailable
      0 [main] sh 4560 sync_with_child: child 2792(0x11C) died before 
initialization with status code 0x0
  27966 [main] sh 4560 sync_with_child: *** child state waiting for 
longjmp
/usr/bin/sh: fork: Resource temporarily unavailable

-------- begin --------

Cleaning project:
rm -f lcd-routines.hex
rm -f lcd-routines.eep
rm -f lcd-routines.cof
rm -f lcd-routines.elf
rm -f lcd-routines.map
rm -f lcd-routines.sym
rm -f lcd-routines.lss
rm -f ./lcd-routines.o
rm -f ./lcd-routines.lst
rm -f lcd-routines.s
rm -f lcd-routines.d
rm -f lcd-routines.i
rm -rf .dep
-------- end --------


> Process Exit Code: 0
> Time Taken: 00:01


Habe auch dannach Make All gemacht und es ging nichts.

Könnte es am Betriebssytem liegen?? Ich hab das ganze im Moment auf 
Vista laufen. Flashen tu ich mit meinem zweitrechner?
Persönliche Seite #827401
Lesenswert?

Läuft ein Windows VISTA mit 64-Bit auf deinem Rechner?

Damit gibt es ähnliche Fehlerberichte
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=44251&start=100

Dort und auf der folgenden Seite gibt es auch Hinweise vom User 
Madwizard zum "sync_with_child" Problem, wie man versuchen kann, das 
Problem zu lösen.

http://www.madwizard.org/electronics/articles/winavrvista
#827417
Lesenswert?

Display initialisiert. Also der Balken verschwindet. Allerdings mit 
einem Anderen Code.

Dieser ist im Anhang. Allerdings habe ich das Problem, das das Display 
keinen Text anzeigt.

Woran könnte das liegen?

Angeschlossen ist es wie in der Anleitung beschrieben.

DB0 - DB3 sind nicht angeschlossen

Der Rest wie beschrieben.


Ist da ein Fehler im Script oder ein Fehler meiner Seite?
Angehängte Dateien:

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