Forum: Compiler & IDEs Studio4 fehlermeldng: gcrt1.S:52: undefined reference to `main' Hilfe!


von Georg G. (Firma: gmbh-keine) (georgino)


Lesenswert?

Hallo,

Habe mir einen atmega32 un HD44780 zusammengestöpselt und versuche jetzt 
nach der Anleitung lcd-routines von mikrocontroller.net mit Studio4 zu 
flashen.

Aber beim Copelieren kommt jehne Felermeldung:

gcrt1.S:52: undefined reference to `main'



Habe die lcd-routines.c und lcd-rutines.h drinnen!

muss ich die <avr/io.h> erstellen?

Kann ich um eure Hilfe Bitten!?

von Krapao (Gast)


Lesenswert?

Du musst eine Funktion main() definieren in der die Funktionen aus 
lcd-routines.c auch benutzt werden. In der Artikelsammlung ist bei der 
Beschreibung der lcd-routines.c und lcd-routines.h auch ein Beispiel 
angegeben.

von Georg G. (Firma: gmbh-keine) (georgino)


Lesenswert?

Build succeeded with 0 Warnings...

hehehe!

Hab das beispiel1.c und routines.c & .h neu ins studio und dan copeliert 
>>OK!

dank!

von Diplomtroll (Gast)


Lesenswert?

georg georg schrieb:
> copeliert
wenn schon dann "compiliert". Deine Version erinnert eher an 
kopuliert...

von Georg G. (Firma: gmbh-keine) (georgino)


Lesenswert?

kann mir wer sagen wie man beim Prog. die Zeilenanzahl des LCDs 
Definiert?
Benütze ein HD44780 (4bit) 2x16 Zeiche...

Titel - 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
1
////////////////////////////////////////////////////////////////////////////////
2
// Zeilendefinitionen des verwendeten LCD
3
// Die Einträge hier sollten für ein LCD mit einer Zeilenlänge von 16 Zeichen passen
4
// Bei anderen Zeilenlängen müssen diese Einträge angepasst werden
5
 
6
#define LCD_DDADR_LINE1         0x00
7
#define LCD_DDADR_LINE2         0x40
8
#define LCD_DDADR_LINE3         0x10
9
#define LCD_DDADR_LINE4         0x50
10
 
11
////////////////////////////////////////////////////////////////////////////////

von Krapao (Gast)


Lesenswert?

Gar nicht.

Diese Library aus dem Tutorial hat keine Einstellmöglichkeit für die 
Zahl der Zeilen. Der Programmierer hat aber die Aufgaben

1/ die Anfangsadressen der Zeilen im LCD-Speicher anzugeben (mit obigen 
Zeilen). Die Voreinstellung passt mindestens für 1-4 zeilige LCDs mit 16 
Zeichen pro Zeile

2/ nur so viele Zeilen/Spalten am LCD im Programm anzusprechen wie auch 
vorhanden sind. In der lcd_setcursor() wird keine Prüfung gemacht, ob 
auf eine nicht vorhandene Zeile oder Spalte positioniert wird.

von Krapao (Gast)


Lesenswert?

Bei Punkt 1 ist das Datenblatt des verwendeten LCDs extrem nützlich.

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.