Forum: Mikrocontroller und Digitale Elektronik LCD am Butterfly


von jabberwock (Gast)


Lesenswert?

Hallo, ich versuche immernoch was auf dem LCD des Butterflys auszugeben, 
klappt aber leider nicht.

Ich habe im Netzt volgendes gefunden:

...Dazu
müssen die Dateien LCD_driver.h, LCD_driver.c, LCD_functions.h, 
LCD_functions.c,
BCD.h und BCD.c in das Verzeichnis kopiert werden, in dem der neue 
Programmcode und

Folgender Code wird in die Datei geschrieben:
1
#include "LCD_driver.h"
2
#include "LCD_functions.h"
3
const char TEXT[] PROGMEM = dies ist ein Test;
4
void initializer()
5
{
6
LCD_Init(); //initialisiert das LCD
7
}
8
int main(void)
9
{
10
initializer();
11
LCD_puts_f(TEXT, 1);
12
return 0;
13
}

ich habe die Dateien aus dem GCC-Butterfly code genommen aber so wie da 
oben beschrieben lässt sich das nicht übersetzen. Weil er da dann 
Probleme mit eineigen Funktionen hat.

Das kann doch nicht so schwer sein... irgendwie stehe ich das total auf 
dem Schlauch. Könnte mir vielleicht jemand helfen? Am besten mit einem 
kleinen Testprogramm. Damit ich das mal schnalle
Was muss ich denn machen um da was auf den LCD zu bekommen?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Sorry, Butterfly nicht an Bord, aber ich schätze das Makefile muss auch 
noch abgeändert werden, damit die C-Quelldateien mit den neuen 
Funktionen (LCD_driver.c, LCD_functions.c und BCD.c) auch in dem 
fertigen Programm landen. Wenn das nicht gemacht wird, ,üsste sich der 
Linker über fehlende Symbole beschweren... wie sieht die genaue 
Fehlermeldung aus und an welcher Stelle (link?) hast du die Anleitung 
gefunden?

von jabberwock (Gast)


Lesenswert?

Nee.. das hab ich ja gemacht. Ich bekomme es übersetzt wenn ich ein paar 
sachen auskomentire.

er will die main.h und die button.h haben. Aber ich möchte aber einfach 
nur ein text auf den lcd bekommen. Also kommentiere ich das weg.

dann bleibt noch ST_OPTIONS_DISPLAY_CONTRAST undeclared.

Wenn ich das auch noch weg mache übersetzt er es aber dann kommt nicht 
auf den lcd. oder man kann es einfach nicht sehen.

Ich bräuchte mal so ne art minimalversion für die lcd ausgabe.

von DerSchelm (Gast)


Lesenswert?

Wenn Du den kompletten GCC-Butterfly-Code hast, dann nimm den doch 
zuerst einmal komplett her, sieh ob es läuft und wirf nach und nach 
alles raus, was Du nicht mehr willst.

Frage an einen Steinmetz: Ist es eigentlich schwer, aus Stein einen 
Löwen zu meißeln?
Steinmetz: Nein eigentlich nicht, man schlägt einfach nur alles weg, was 
nicht nach Löwe aussieht.

von jabberwock (Gast)


Lesenswert?

Haha...

ja da bin ich ja jetzt bei. Der gcc code lies sich ja auch ohne weiters 
übersetzen. Nur wolle ich mir das ersparen.

kann ich das lcd nicht auch wie üblich ganz normal wie in jedem Tutorial 
beschrieben ansprechen oder muss ich die software stücke vom dem 
original code nehmen?

von jabberwock (Gast)


Lesenswert?

so, habs nun...

hier auf der Seite 
http://www.siwawi.arubi.uni-kl.de/avr_projects/#bf_app
gibt es viele kleine Progs auf basis des originalen gcc codes.
Das ist dann einfacher zu cleanen.

mfg
jabberwock

von Stefan B. (stefan) Benutzerseite


Lesenswert?

jabberwock wrote:
> kann ich das lcd nicht auch wie üblich ganz normal wie in jedem Tutorial
> beschrieben ansprechen oder muss ich die software stücke vom dem
> original code nehmen?

Tja. Das LCD hier ist kein "übliches" LCD. Der µC im Butterfly 
(Atmega169) bringt die Controllerfähigkeiten mit, die sonst ein 
spezieller LCD-Controller auf dem Display übernimmt. Die Tutorials für 
übliche LCD-Controller passen also nicht.

Du kannst dir die Ansteuerung des Atmega169 hinsichtlich des LCD 
Controlling selbst aus dem Datenblatt rauslesen und eine eigene 
Treiberlibrary schreiben ODER bestehenden Code dafür runterstrippen ;-)

Siehe auch:
http://www.dwelch.com/avr/
AVR064 und dazugehörige C-Software
AVR065

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.