Forum: Mikrocontroller und Digitale Elektronik DOGM132-5 Programmfehler?


von Robin F. (gehacktes)


Lesenswert?

Hallo,

ich versuche gerade ein DOGM132-5 Grafikdisplay zu betreiben.
Da ich nicht ganz mit der Headerdatei erstellen klar gekommen bin habe 
ich nach einen vorhandenen Code gesucht.
Da habe ich diesen Thread gefunden:
Beitrag "Dogm-132-5 Probleme"

Jetzt habe ich diesen Code einmal eingegeben und versucht zu Compilieren 
und da kommt für mich eine Ziemlich unverständliche Fehlermeldung.
1
MacKinky:firmware xxxxxxxxxxxxx$ make
2
avr-gcc -Wall -Os -DF_CPU=8000000 -mmcu=atmega8 -c main.c -o main.o
3
main.c:8:1: warning: "F_CPU" redefined
4
<command line>:1:1: warning: this is the location of the previous definition
5
main.c: In function 'dogm132_spi_init':
6
main.c:62: warning: implicit declaration of function '_delay_us'
7
main.c: In function 'main':
8
main.c:117: error: 'DDRA' undeclared (first use in this function)
9
main.c:117: error: (Each undeclared identifier is reported only once
10
main.c:117: error: for each function it appears in.)
11
main.c:121: warning: implicit declaration of function 'dogm_home'
12
main.c:124: warning: implicit declaration of function '_delay_ms'
13
main.c:165:2: warning: no newline at end of file
14
make: *** [main.o] Error 1

Kann mir einer sagen was ich falsch mache?

Gruß

von René K. (cyprius)


Lesenswert?

Der Error kommt durch die fehlende Inkludierung des AVR-IO-Headers 
zustande. Es fehlt auf jeden Fall noch:
1
#include <avr/io.h>

Warum das im verlinkten Beitrag fehlt ist mir nicht ganz klar, aber der 
Code ist imho eh nicht zur Nachahmung empfohlen.

von Robin F. (gehacktes)


Lesenswert?

Das hab ich auch schon versucht aber hat keine Wirkung gezeigt.

Das Problem ist, ich habe bisher nur einen anderen Code gefunden zum 
testen aber der ist für ein ARDUINO.

von René K. (cyprius)


Lesenswert?

Dann nimm dir doch mal das Datenblatt vom Display und schreib dir selbst 
was. Imho lohnt es sich bei der extrem simplen Ansteuerung nicht, 
irgendwelche Codeschnipsel aus dem Netz zurechtzufrickeln.

von Robin F. (gehacktes)


Lesenswert?

Ja da hast du recht, allerdings ist eine eigene Initialisierung zu 
schreiben für mich noch Neuland und hab es noch nicht wirklich hin 
bekommen. Darum hab ich ja gehofft, dass dieser Code funktioniert.

Habe gestern versucht eine Headerfile zu schreiben und mich dabei an dem 
Header des LC-Displays TC1602E von der Seite 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung 
angelehnt. Ich habe dabei das Datenblatt 
https://www.sparkfun.com/datasheets/LCD/HD44780.pdf mit dem Header 
verglichen und fand es auch recht simple.
Aber bei dem versuch etwas eigenes für das DOGM132 zu schreiben bin ich 
wie gesagt bisher gescheitert.

von René K. (cyprius)


Lesenswert?

Hast du dir das Datenblatt mal angesehen? Da ist eine komplette 
Initialisierungs-Sequenz drin, inkl. Beschreibung..

von Düsendieb (Gast)


Lesenswert?

Beitrag "DOGM132-5 mit SPI ansteuern"

mal da oben nach :DOGM132-5 suchen

von René K. (cyprius)


Angehängte Dateien:

Lesenswert?

Und hier nochmal der Ausschnitt aus dem Datenblatt.

von Robin F. (gehacktes)


Lesenswert?

Ja die Initialisierungstabellen hab ich gesehen falls du die meinst?!
Aber der Robert Jähne aus dem anderen Thread hat mehr Definitionen 
getätigt, als dort offensichtlich stehen.
Das ist leider mein erstes mal, dass ich einer Initialisierung selber 
schreibe und ich weiß einfach nicht auf was ich da achten muss und was 
wichtig bzw. wie etwas geschrieben wird.

Ich werde nochmal versuchen das zu schreiben. Vielleicht funktioniert es 
ja iwie?!

von spess53 (Gast)


Lesenswert?

Hi

>Ich werde nochmal versuchen das zu schreiben. Vielleicht funktioniert es
>ja iwie?!

Dann solltest du dich mal mit dem Displaycontroller

http://www.lcd-module.de/eng/pdf/zubehoer/st7036.pdf

beschäftigen.

MfG Spess

von René K. (cyprius)


Lesenswert?

Schreib dir eine ordentliche Ansteuerung des SPI und dann lass einfach 
die Sequenz aus dem Datenblatt drüber laufen, die ist schon richtig so.

Und vor allem, ignoriere den von dir verlinkten Code! Bei den wild 
verstreuten Delays und den sinnbefreiten Schleifen sieht man schon, dass 
da jemand ohne Plan wild drauf los geschrieben hat.

von Robin F. (gehacktes)


Lesenswert?

Alles klar. Ich danke euch!

Ich mach mich gleich ans Werk. Wenn ich noch Fragen oder erfolge habe 
meld ich mich wieder.

Erstmal ein schönes Wochenende euch

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Anbei ein funktionierendes Example, sollte mit ganz wenig aufand auch 
auf dein 132-5 Display anpassbar sein...

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.