www.mikrocontroller.net

Forum: Codesammlung LCD Library T6963c


Autor: Nico Sachs (Gast)
Datum:
Angehängte Dateien:

Hallo

Ich hab ne T6963 Library gefunden, die jedoch für das codevisionAVR
programmiert war. Ich hab sie convertiert, sodass sie mit dem GCC
Kompilliert werden kann. Ich hab jedoch mein Print noch nicht erhalten
um das ganze zu testen. Wenn jemand lust hat das ding auszupobrieren,
soll er es machen.

PS zu dem source: Es ist zwar nicht c Standart, aber ich hab halt alles
ins header geschmissen.
Autor: Nico Sachs (Gast)
Datum:
Angehängte Dateien:

Ups, hab ne falsche version upgeloadet.
Autor: Nico Sachs (Gast)
Datum:
Angehängte Dateien:

angepasst werden muss nur die variablen definition.

um bilder anzuzeigen müsst ihr nur genau diesen code irgendwo
einbetten.

dazu noch die <pgmspace.h> includen

den anderen mist den das programm erzeugt könnt ihr löschen
Autor: Florian (Gast)
Datum:
Angehängte Dateien:

Klasse Library. Klappte ganz Problemlos.

Ich habe auch gleich eine Mini-Demo geschrieben: Die bekannten Flying
Lines oder unter Windows "Marquee" - komisch, daß die auf meinem 8Mhz
ATmega weniger ruckeln, als auf einem PIV-Power-bis-zum-abwinken ;-)

Anbei noch ein paar Tips:
- es wäre schön, wenn Du die Kommentare nicht mit "//**" machen
würdest, da das meinen Compiler aus den Tritt bringt und er mich mit
warnings überhäuft: warning: "/*" within comment
- Die Funktionen könnten noch ein paar Kommentare vertragen - ebenso
wie einzelne Anweisungen. Dann fällt das Verständnis leichter.
- Hinweis darauf, daß man den Pin FS für Font Select des Displays
unbedingt gegen GND schalten muß, da er von der Library nicht
angesteuert wird, obwohl der in der Pindefinition aufgelistet ist. Mit
dem narrow Font klappt's nicht und ein in der Luft baumelnder Pin
führt auf dem LCD zu tollen Effekten.
Autor: Florian (Gast)
Datum:
Angehängte Dateien:

Ich habe mir mal erlaubt, die Library von Nico zu überarbeiten.

Jetzt kann man die FS-Leitung ansteuern, um den schmalen oder den
normal breiten Font zu benutzen. In Abhängigkeit des eingestellten
Wertes werden die Speicheradressen usw. berechnet.
Autor: Nico Sachs (Gast)
Datum:

Hallo florian

Was hast denn du für einen Compiler, dass der ausruft bei den komischen
komentaren? Ja ich weiss, es herrscht ein bisschen ein Chaos in dem
Code. Man sollte mal ein .h und ein .c file erstellen. Um da ein
bisschen Ordung rein zu bringen.

Das Fontselect schalte ich extern mit font_big(); und font_small(); Ist
es notwendig die speicheradressen neu zu berechnen, wenn die schrift
geändert wird? Ich hab es noch nicht genau angeschaut. (Es ist noch
Montag morgen ;-))

Ich hab mal dein Code auf meinen Proz geschmissen, sieht toll aus!.

mfg
Autor: Nico Sachs (Gast)
Datum:
Angehängte Dateien:

Ich wollte noch ein Bild von meiner geilen Entwicklungsumgebung
hochladen. Das ganze ist Schulprojekt und sollte mal ein Spiel mit 2
displays geben, auf dennen man zu zweit das berühmte Snake Spiel
spielen kann.
Das ganze wird dann aufgestellt an Messen und an Schulen, als
Demonstration für den Elektroniker Beruf
Autor: Florian (Gast)
Datum:
Angehängte Dateien:

Nicht schlecht. Gegen diesen Profi-Aufbau sieht es bei mir sehr
frickelig aus. Aber nach dem ich das Display bei ebay aus Hong Kong
günstig bekommen hatte und es nach gerade mal einer Woche bei mir war,
mußte es schnell gehen mit dem Anschluß und da mußte dann halt ein
fliegender Aufbau her. Besonders elegant ist sicherlich der gegen
Kurzschlüsse eingetütete Trimmer für den Kontrast ;-)

Ich nutze WinAVR und der meckert halt bei //** wenn das in einem /* ...
*/ steht. Ist eigentlich auch korrekt, denn /* ... */ ist mehrzeiliger
Kommentar und darin ist dann wieder der Anfang von einem mehrzeiligen.

Ist ja nicht so schlimm, habe die Kommentare einfach ein wenig
geändert. Ich wollte nur nicht zu viel in Deiner Datei rumpfuschen.
Klar ist das noch in der Entwicklung. Wenn's denn mal weiter gediehen
ist, kann man ja noch die Sache schick machen.

Der Speicher muß neu berechnet werden. zumindest bei meinem Display.
Ist auch irgendwie logisch, denn es sind ja mehr Bytes pro Zeile.
Deshalb habe ich die Defines am Anfang eingebaut und im Code
entsprechend berücksichtigt.

Derzeit erprobe ich die Möglichkeiten, eigene Fonts zu gestalten. Nach
anfänglichen Schwierigkeiten klappts nun auch. Sobald das steht, äußere
ich mich dazu.

Inzwischen habe ich auch bemerkt, daß der Windows Bildschirmschoner
Mystify und nicht Marquee heißt - aber das ist wohl auch egel.
Autor: Florian (Gast)
Datum:
Angehängte Dateien:

Weil's so schön ist: Hier noch eine neuere Version.

Beim lesen von Daten glcd_dget() war ein kleiner Fehler: Es wurde nicht
gewartet. Jetzt läuft auch dies.

Jetzt gibt es auch eine Funktion, um eigene Zeichen zu definieren.

Außerdem eine Funktion, um die Größe der Standardzeichen zu verdoppeln
und daraus neue Zeichen zu generieren.

Weiterhin eine langsame Funktion zum Zeichnen von Teilkreisen. Die
liefert noch keine schönen Kreise.
Autor: Freudi (Gast)
Datum:

Hey Florian
Habe jetzt mein Display aus Honkong. Freu ! Funktioniert auch. Wie
machst Du das mit den Fonts ? Über den Fontedit erhalte ich ne
C-Definition, die kann ich einbinden und dann ? Muss ich noch eine
Funktion schreiben die das in den Graphicspeicher an die richtige
Stelle schreibt oder habe ich die Funktion bei Deinem Quelltext
uebersehen ?

Freudi
Autor: kahtan (Gast)
Datum:

Hello All
Can any one share us T6963C C library for dsPIC (MikroC dsPIC) because
the one supported with the Compiler isn't flexible with dsPIC30F4011
Thank you
Autor: Nico Sachs (Gast)
Datum:

sorry i don't have this c library which you looking for. But i think
you  can easily adjust the definings to control the I/O's. the code to
control the LCD Driver is standart c#
Autor: Nico Sachs (Gast)
Datum:

Ach ja. Unser Projekt ist so langsam fertig.
Ihr könnt ein kleines filmchen und ein paar bilder downloaden unter:

Download hinweise:
Werbung wegklicken und dann auf den Donwload Button klicken.

http://www1.file-upload.net/download_10.06.06/n2ih...
Autor: eman (Gast)
Datum:

cooles ding, nur leider fragt sich, ob sich der aufwand sich für ein
spiel auch lohnt.. vom spielspaß und dauer her gesehen.. aber wenn man
snake-besessen ist :-)
Autor: Nico Sachs (Gast)
Datum:

Ich denke snake ist ein spiel welches nicht so schwierig ist zum
programmieren, darum haben wir es auch gewählt. hättest du dann eine
bessere idee gehabt für ein spiel, welches nicht weniger aufwändiger
gewesen wäre?
Autor: Felix Fellhauer (Gast)
Datum:

Hallo Jungs!

Ich habe jetzt mein LCD (www.microelect.com/lcd/graphic/cgm32064.PDF)
an einen M16 angefalnscht, und versuche dieses seit nunmehr einigen
Tagen vergeblich zum Laufen zu bewegen ;) bin aber bisher erfolglos
geblieben. Die Verbindungen stimmen alle. Die Initialisierung scheint
soweit auch zu funktionieren. Was auch einwandfreigeht, ist der befehl
sget (Statusabfrage) hier konnte ich mit dem Scope nachweisen, dass die
gewünschten Signale aus dem LCD kommen ob sie im µC auch richtig
ankommen ist eine andere Frage. Was mir sehr komisch scheint ist , dass
 ich wenn ich während dem Befehl cleartext oder cleargraph (also die
speicher-Überschreib befehle) messe, am Datenbus (D0...D7 geht auf
PORTC) e-Funktionen(!) messe. Daher denke ich, dass irgendwas mit dem
Daten-Port nicht stimmt, also Direction oder sowas.

Währe echt klasse, wenn mir jemand von euch weiter helfen koennte.

MFG Felix Fellhauer
Autor: Fredy (Gast)
Datum:
Angehängte Dateien:

Hallo Florian,

auf Deinem Bild sind so nette Schalter zu sehen...
Woher hast Du die, wo bekommt man so etwas

Fredy
Autor: Nico Sachs (Gast)
Datum:

Du meinst wohl mich, nicht Florian. ;-)
Das Sind Printtasten von MEC "Navimec" ich hab sie von
http://www.distrelec.com/ishopWebFront/catalog/pro...
Der dazugehörige print hab ich selber gelayoutet.

@Felix
Beschreib mal dein System. Schaltplan, Layout, Fotos usw.....
Autor: Felix Fellhauer (Gast)
Datum:

@ Nico

Ich habe das Problem mittlerweile selber loesen koennen. Ich habe den
DCL-Datenport auf einen anderen port gelegt; jetzt geht es einwandfrei.
Ich nehme an, dass der controller entweder bereits beschädigt war, also
der B-Port defekt oder dass die alternativen funktionen aus welchen
gründen auch immer aktiviert waren und somit der port nur teilweise zu
nutzen war.

trotzdem danke

Gruß Felix
Autor: Nico Sachs (Gast)
Datum:
Angehängte Dateien:

Da ich immer wieder mal angefragt werde, ob ich ihnen den Codevision
code zu dem Displaytreiber T6963C zusenden könne, stelle ich dieses
Archiv mal hierhin. Die Daten wie sie sind hab ich so gefunden, also
nichts verändert. Kann auch nicht sagen ob er funktionniert in cvAVR.

mfg Nico
Autor: Michael Schueller (Gast)
Datum:

Hi Nico,

Du hast mir den Code damals auch geschickt - mein Projekt liegt zwar
derzeit auf Eis, aber der Code tut´s prima (Danke nochmal).

Gruß,

Michael
Autor: Nico (Gast)
Datum:

Hallo,
ich würde gerne wissen welches Display du einsetzt @Nico.
Oder steht das hier schon irgendwo?

Gruß
Nico
Autor: Benjamin (Gast)
Datum:

Hallo Zusammen,
die Bilder sagen doch schon ein super Tool für die Steuerung des GLCD
vorraus, aber hat sich schon mal jemand die Mühe gemacht die Header in
eine .h und .c Datei unzustricken? Wäre sehr nett, wenn sowas existiert
das dann auch im Netz zu finden... Denn wir sind ja alle Arbeitsfaul ;o)
!!

@Nico & Florain
Sehr gute Arbeit!!! Ich werde den Source gerne verwenden.

Andere Frage: Welchen Controller habt Ihr für eure Einheiten verwendet
(@Nico)? Reicht dafür noch der mega128 oder muss ich dann schon einen
größeren Controller haben?

Danke schon mal!!

Gruß
Benjamin
Autor: Nico (Gast)
Datum:

Hallo Benjamin nö hab ich noch nicht gemacht. --> "Never change a
running System" ;-). Nein, es wäre eigentlich schon schön, aber
eigentlich bin ich zu faul ;-).
Ich habe einen 128er auf meinem System, da wir sehr viele Bilder drin
haben. Anfänglich hatten wir einen Mega64. Es wird auch gehen mit einem
32er wenn du keine Bilder benötigst. Kommt halt auf das draufan was du
machen willst.

Gruss Nico
Autor: Thomas H. (Gast)
Datum:

Reply to this:

Autor: Nico Sachs (Gast)
Datum: 27.02.2006 14:06


Hello!
I'm using your t6963C library for WinAVR, and it works very fine!
I have a question: How did you converted an image to data for the C
code? (like in picture_beispiel.txt). I want to show a bitmap on my LCD,
wich I draw in the Paint program on Windows.

Thanks!
Thomas
Autor: Stefan Wimmer (wswbln)
Datum:

Hallo Felix,

Du hast zwar schon eine Lösung (umlöten) gefunden, aber um zum
Ursprungsproblem zurückzukommen: Hattest Du in den Fuses den JTAG-Port
disabled? Die M16er kommen vom Hersteller mit defaultmässig JTAG
enabled. Dann macht Port C (zumindest an den JTAG-Pins) recht
merkwürdige Dinge, die nur entfernt unbedingt mit PORTC und DDRC zu tun
haben :-)
Autor: eman (Gast)
Datum:

naja, für ein spiel lohnt es sich meiner meinung nach halt nicht...wie
oft spielst du denn?

wie wär's mit 'ner erweiterung um einen netzwerkanschluss, über den der
bootloader die spiele dann aus dem netz besorgt. und es ermöglicht
multiplayer ;-)
Autor: Johannes (Gast)
Datum:

Hallo zusammen,

ich bin gerade dabei den Code auf dem R8C13 zum laufen zu bringen. Was
mir nicht klar ist:
Wozu dient die Funktion DDR(...)=... in glcd_setup()??
Ist das was AVR spezifisches?
Ich habs einfach mal auf gut Glück rausgelassen. Die Initialisierung
wird auch ausgeführt, ebenso glcd_print(...) aber es erscheint nix auf
dem Display...
Wenn ihr mir sagen könnt, was die DDR() eigentlich macht, bekomme ichs
vielleicht doch noch zum laufen...

Besten Dank,

mfg
Johannes
Autor: Werner B. (Gast)
Datum:

DDRx ist das "Data Direction Register" und schaltet zwischen Input und
Output um.
Autor: Putzer Philipp (Gast)
Datum:

Hallo allerseits!

Ich bin vor einigen Tagen hier auf die C-Library zur Ansteuerung eines
240x180 Grafikdisplays mit dem T6963c-Controller von Toshiba gestoßen.


Habe sie gleich ausprobieren müssen, und läuft super!! Klasse Arbeit!

Nur habe ich ein paar Fragen zur verwendung der einzelnen Funktionen.

1. Zum Display(Powertip PG 240128-A) selbst. Es hat einen Pin der MD2
heißt, und irgen etwas mit den Spalten zu tun hat. Nur weiß ich nicht
genau was, ich glaube es schaltet von 32 auf 40 Spalten um. Wird dieses
Feature in der lib auch verwendet, oder werden immer fix die 40 Spalten
verwendet?

2. In der Lib gibt es die Funktion "glcd_set_myfont". Gehe ich richtig
davon aus, dass die Funktion dem Display sagt welchen Zeichensatz es zu
verwenden hat. den muss ich also mit einem fonteditor erzeugen lassen
und in includieren und als adressparameter (mem) übergeben. Stimmt das
so in etwa? Ich habe einen Font editor verwendet, der noch einen ganzen
Haufen andere includes erzeugt, mit denen weiß ich dann nicht was
anfangen.

3. Im beispiel von Nico oben (3. oder 4. post) wird eine grafik am lcd
ausgegeben. ich includiere in meinem programm also das "Bild" als
rohdaten, habe das beispielbild einfach hinenkopiert, nur, wie schreibe
ich die grafik dann ans lcd? mit glcd_print?? oder mit glcd_show?? funkt
leider bei beiden nicht.


so, mir wäre echt weitergeholfen, wenn mir jemand etwas dazu sagen
könnte. im vorab will ich mich entschuldigen, sollten meine fragen zu
banal sein, oder einfach nur idiotisch...


vielen vielen dank und schöne grüße

philipp
Autor: chris (Gast)
Datum:

Hallo Leute,
meine Frage, kann man diese Library auf für einen PIC 16F877 verwenden.
Danke
Chris
Autor: scholli (Gast)
Datum:

Ntürlich kannst Du sie verwenden, aber es wir wohl nicht so
funktionieren..
Autor: wayne (Gast)
Datum:

Ich versuche gerade das Beispiel hier aus dem Thread zum laufen
zubringen mit der letzten Winavr Version bekomme aber immer einen Fhler,
dass die elf Datei nicht gefunden wird.

Hat wer eine Idee woran das liegen kannß

mfg wayne
Autor: Christian R. (mrrotzi)
Datum:

libm.a dazulinken!
Autor: Schorsch (Gast)
Datum:

Hallo,

erstmal ein großes Lob an die Entwickler!

Ich scheitere allerdings an der Benutzung der Custom Fonts.

Das Generieren ist ja kein Problem, aber hat vielleicht jemand ein
Beispiel, wie ich mit 'glcd_set_myfont', 'glcd_make_big_font' und
'glcd_print_big' umzugehen habe?

Schonmal vielen Dank im voraus

Schorsch
Autor: Christian R. (mrrotzi)
Datum:

Hallo Schorsch,

um beliebige Fonts zu generieren habe ich folgendes Tool geschrieben:
Beitrag "GLCD T6963C Font-Tool"

Vielleicht ist das interessant für dich.

Tool starten, Button: Font... Font auswählen,
angeben, welche Buchstaben als generiert werden sollen,
Ränder, Fixe Größe und Namen vergeben und dann Button Generate drücken.

Dialog mit Ok zumachen und in der Auswahlbox im Hauptfenster den Font
auswählen.
x, y Koordinaten angeben, Text eintippen und "Print" drücken.

Den Font kann man auch über "Export" als .c file auf die Platte
schreiben!

Viele Grüße,
Christian
Autor: Schorsch (Gast)
Datum:

Kann es sein, dass zusätzlicher Speicher neben dem t6963c vorhanden sein
muss?

Ich meine, dass der t6963c nicht ohne Erwiterung zum generieren der
Custom Fonts in der Lage ist!??
Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Hallo,

in welchem Source sind die Erweiterungen, um Eigene Fonts zu nutzen?
Falls jemand so nett wäre, und ihn hier anhängen würde.

Gruß Sascha
Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Benutzt es keiner ?

Gruß Sascha
Autor: Christian R. (mrrotzi)
Datum:

Was meinst du eigentlich mit "Erweiterungen" ??

Ich benutze die Library und ich weiß nicht genau um welche
"Erweiterungen" es geht!
Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Um zum Beispiel dein Fontgenerator zu nutzen :)
Dort ist zwar ein Code vorhanden, aber die im Generator
benutze glcd_print2_P Routine nicht.

Ein Beispiel für die Nutzung wäre nicht schlecht.

Gruß Sascha
Autor: Christian R. (mrrotzi)
Datum:

aaaalso:

Mein Font-Konverter erzeugt für Lib, die auch im Zip enthalten ist, die
richtigen Funktionsaufrufe im Trace-Fenster!

zB
- Font-Generator starten...
- Font... Button drücken und Font, sowie die Zeichen wählen, die du als
.c file exportiert haben möchtest.
- Generate Button drücken
- Ok Button drücken

Dann im Hauptfenster rechts in der Auswahlbox (links neben dem Font...
Button) den neuen Font auswählen.

Mit der Maus in den blauen (Display-) Bereich klicken (dort, wo das
Element hinkommen soll)

dann mit der Maus einen Doppelklick in eine der x,y Koordinaten Textbox
(rechts neben "invers")

Text in die längere Textbox rechts daneben eintippen ... und auf "Print"
drücken!


Darauf erscheint der Text, gezeichnet mit dem ausgewählten Font und in
der Listbox darunter steht dann zB
glcd_print2_P(18, 73, "Test Text", &Snap_ITC__18, 0);

diesen Text kannst du 1:1 in deinen Sourcecode kopieren.

Um den Font als .c file zu exportieren: Export Button drücken und einen
Dateinamen und Pfad wählen. Den musst du dann nur noch in dein AVR
Projekt aufnehmen!


Hmmm ... eine Tool-Beschreibung wäre nicht schlecht! Ich weiß!
Allerdings, da das Teil eh niemand verwendet - hab ich mir auch die
Arbeit (noch) nicht angetan ;o))


Viel Glück!
Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

> Darauf erscheint der Text, gezeichnet mit dem ausgewählten Font und in
> der Listbox darunter steht dann zB
> glcd_print2_P(18, 73, "Test Text", &Snap_ITC__18, 0);
>
> diesen Text kannst du 1:1 in deinen Sourcecode kopieren.


Das habe ich auch schon festgestellt :)

Aber wo finde ich die Funktion glcd_print2_P ?????

Die ist in den Sources nicht vorhanden..

Gruß Sascha
Autor: Christian R. (mrrotzi)
Datum:

AAAHHHHHHH! =:-O

ja, du hast recht!

die Dateien: font.h und font.c sind nicht im ZIP File!


Hab's neu verpackt und raufgeladen ;o)


Danke,
Christian
Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Hehe, habe mich wohl ein wenig blöd ausgedrückt :)

Werde es gleich mal ansehen. Danke........

Gruß Sascha
Autor: Stroop (Gast)
Datum:

Ich würde gerne die marquee-Graphik-Anwendung (oder auch andere
AVR-basierte   T6963-Kontroller basierte Graphik-LCD-Anwendungen)
'nachstricken', um an diesem Beispiel die Funktionsweise der
LCD-Ansteuerung nachzuvollziehen bzw. zu verstehen.
Für welchen AVR wurde die marquee-Anwendung ausgelegt, oder besser
gefragt, mit welcher Frequenz muß der Mikrokontroller getaktet sein,
damit die Anwendung läuft? Kann ich das (an welcher Stelle) dem Code
entnehmen?

Danke.
Autor: Roberto (Gast)
Datum:

Hallo

Toll die T6963 Library.....:-) :-)
Hätte dazu aber noch ein blöde Frage ;-)
Wie kann ich auf dem Display eine Variable ausgeben?
Vielleicht kann mir jemand auf die Sprünge helfen :-)

Danke.
l.G. Roberto
Autor: Alexander Lamprecht (Gast)
Datum:

Code anschauen...
void glcd_print(int x,int y,const char *string);     // send string of
characters to LCD

Du kannst also einfach deine function mit einer Variablen/einem Array
vom Typ char statt einem String aufrufen.
Autor: Clyde H. (clyde)
Datum:

Hallo,

kannst Du mir sagen, wo Du die Libary für CodeVision gefunden hast?
Ich habe mich schon "wund" gesucht aber nix gefunden. Nur für AVR Studio
begegnen mir Libary´s für den T6963.
Wäre echt nett, wenn Du mir da was sagen könntest.

Gruß
Clyde
Autor: Alexander Lamprecht (Gast)
Datum:

Die lib ist doch verlinkt?
http://www.mikrocontroller.net/attachment/16196/T6...
- siehe weiter oben.
Autor: Clyde H. (clyde)
Datum:

Danke, und ich werde es nachher mal ausprobieren.
So wie ich das verstanden habe, hat er sie angepasst auf AVR Studio...
Und somit wäre si ja nicht mehr kompatibel zu CodeVision.


Gruß
Clyde
Autor: Clyde H. (clyde)
Datum:

Mann Mann Mann 8)
Bin ich blind gewesen...
Habe es jetzt nach nochmaligem Lesen des Threads auch gesehen...
peinlich peinlich...

Vielen Dank

Gruß
Clyde
Autor: Alexander Lamprecht (Gast)
Datum:

Die von mir verlinkte ist die CodeVision-Version ;)
Die für AVR Studio angepasste Version hier:
http://www.mikrocontroller.net/attachment/16194/t6963c.h
Autor: hans (Gast)
Datum:

Hat jemand von euch Erfahrung mit dem 'scheinbar' kompatiblen Typ
SAP1024 der als 1:1 Ersatz des t6963 gelten soll.

Bsp. bei Powertip ist der 6963-Displaytyp fast nicht mehr zu beziehen.


grüssle hans
Autor: Alexander Lamprecht (Gast)
Datum:

Hm mir fällt gerade auf... ich kann die lib leider nicht benutzen da ich
noch einen "alten" AT89C5131A benutze und deshalb mit RIDE 6.1
arbeite... Würde jemand so nett sein und mir die lib dafür umschreiben?
Habe dazu leider selbst noch nicht genug erfahrung :(
Autor: Karl-heinz Strunk (cletus)
Datum:

Was sind die Mindestanforderungen der Library?

Läuft sie auf einem Atmega 8-16 (ohne zusätzlichen Speicher)?
Autor: Timo Birnschein (Gast)
Datum:

Hallo,

ich versuche die Lib zu verwenden, allerdings wird bei mir nichts außer
Datenschrott dargestellt.

Ich habe mit einem Oszi die Leitungen durchgeklingelt und alle zeigen
plausible Werte an.
Mein Mega2560 hat an PortB die Datenleitungen und an PortH die
Controll-Leitungen.

Der AVR wird mit 18,432MHz getaktet und ich vermute, dass hier das
Problem liegen könnte. Das Display könnte mit der Geschwindigkeit nicht
klar kommen.

Welche Taktraten habt ihr verwendet? Evtl nur 8MHz?

Es sind ein paar Pausen in der Lib eingebaut, die nur mit ASM ein paar
NOP Befehle ausführen. Das ist natürlich absolut nicht
Geschwindigkeitsunabhängig. Darum wäre es toll, wenn man jemand sagen
würde, für welchen Takt das ganze bisher ausgelegt ist.

Das 0x03 Statusbyte scheint jedenfalls normal ausgelesen zu werden, da
die Initialisierung einwandfrei durchläuft.

Irgendwelche guten Tipps? :)

MFG
Timo
Autor: Harry S. (littlegonzo)
Datum:

Hi,
also ich habe sie heute mal getestet da ich sonst immer die von Holger
Klabunde verwende aber sie läuft sauber. Ich verwende den ATMega 32 mit
16MHz. Hatte zu Anfang aber auch das Problem mit dem "Datenmüll" aber es
lag an falschen Portzuweisungen und falsch belegter Reset(wird bei mir
nicht an Board geführt). Scheinbar muß man auch wirklich die neuste
Version benutzen vom Autor:  Florian (Gast) am Datum: 08.03.2006 16:43

Schöne Grüße
Harry
Autor: oobi (Gast)
Datum:

Hi,

habe ein toshiba TLX 1013 E0 und bin noch nicht so der profi und wollte
fragen ob ihr eure projekt mal uploaden könntet das ich mal ein wenig an
das display ausprobieren kann.

Gruß oobi
Autor: oobi (Gast)
Datum:

push
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

Seh ich das eigentlich richtig das das Display sowohl Grafik darstellen
aknn als auch Text "drüberschreiben"?
Autor: holger (Gast)
Datum:

>Seh ich das eigentlich richtig das das Display sowohl Grafik darstellen
>aknn als auch Text "drüberschreiben"?

Beim T6963? Ja das geht. Du kannst eine Grafik unter dem
Text scrollen ohne das der sich auch nur rührt.
Autor: oobi (Gast)
Datum:

der text ist auch eine art grafik das display hat einer relativ große
auflösung und kann text und grafik anzeigen hat halt viel mehr pixel als
so ein 2x16.

Bekomm ich die software zum ansteurn des display?????
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

holger wrote:
>>Seh ich das eigentlich richtig das das Display sowohl Grafik darstellen
>>aknn als auch Text "drüberschreiben"?
>
> Beim T6963? Ja das geht. Du kannst eine Grafik unter dem
> Text scrollen ohne das der sich auch nur rührt.

Sehr schön danke :)
Noch irgenwelche "Fallstricke" zu beachten bevor ich mich die Tage mal
um den Anschluß des Displays kümmere?
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

Wollte nur vermelden das ich das Display mit der Libaryund Marquee Demo
erfolgreich in Betrieb genommen habe. Mußte nur bei den Includes ein
bischen was anpassen an die GCC Version.
Autor: Peter Dannegger (peda)
Datum:

Alexander Lamprecht wrote:
> Die für AVR Studio angepasste Version hier:
> http://www.mikrocontroller.net/attachment/16194/t6963c.h

Wolte nur mal anmerken, daß es bei mir auch funktioniert:

MC: ATtiny461 (16MHz interner RC-Oszillator)
Display: MG24065G (240*64)


Peter
Autor: oobi (Gast)
Datum:

könnt ihr mir vllt eure fertige software geben weil mit der header datei
bekomm ich nichts hin??

GRuß

oobi
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Mein komplettes AVR Studioprojekt für den Mega32 pinbelegung steht im
headerfile, fertige HEX für 1Mhz liegt bei.
Autor: Matthias R. (mons)
Datum:

HI
habt ihr schon einen Programmtext für die C-Control Pro 128?
Autor: gast (Gast)
Datum:

>habt ihr schon einen Programmtext für die C-Control Pro 128?

selbst schreiben .. oder weitersuchen
den C-contol basickram tut sich kaum einer an ^^
Autor: Josef Kkk (zumlin)
Datum:

Hallo,

super Library. Ich wollte das ganze mit dem Display von Reichelt "LCD
240X128 BL :: LCD Grafik-Modul, 240 x 128 Punkte" (Artikel-Nr.: LCD
240X128 BL) verheiraten.
In der Beschreibung habe ich gelesen, dass es sich um ein Display mit EA
W240-7KHLW handelt und in dem Datasheet steht dazu:
"[...] niedrigen Stromverbaruch von typ. 180mA @ 3,6 V (max. 270 mA).
Der Strom muss über einen externen Vorwiderstand angepasst
werden.[...]".
Was beudeutet das? Die Kontrasteinstellung ist damit ja wohl nicht
gemeint, oder? Diese variiere ich ja mit einem einstellbaren
Spannungsteiler an Pin 3 und 17. Ansonsten kann ich bei den Pins nichts
finden, an dem ich irgenwo einen Vorwiderstand einbauen sollte. Pin 2
(+5V) bleibt noch, aber daran muss ich doch nichts machen außer an 5V
anschließen, oder? :)

Außerdem bin ich mir nicht sicher was "#define glcd_rv_PIN" definiert.
RV finde ich bei den Pins nicht. Bei mir bleibt nur noch MD2 (Pin 18)
über, welcher die Funktion "Textmode L: 40 columns, H: 32 columns" hat.

Schon mal danke fürs lesen.
Autor: Fabian B. (fabs)
Datum:

Die Stromangabe bezieht sich nur auf das Backlight. Das sind LEDs und
die brauchen halt einen Vorwiderstand oder eine Stromquelle.
5V+ sind 5V ohne Widerstand, maximal zieht der 50mA.

Gruß
Fabian
Autor: Josef Kkk (zumlin)
Datum:

Achso,

die LEDs sind bei diesem Datasheet nicht extra gelistet. Sind das dann
die Anschlüsse Anode bzw. Kathode am rechten Rand des Displays?
Autor: Fabian B. (fabs)
Datum:

Jenau.

Gruß
Fabian
Autor: Josef Kkk (zumlin)
Datum:

Hallo nochmal,

ich bin gerade am überlegen, wie man denn die 3,6V für die
Hintergrundbeleuchtung einrichtet.
Ich habe bei meinem Aufbau 8V zur Verfügung. Ich dachte daher an einen
Spannungsteiler mit ~24,4 Ohm und 20 Ohm. Dabei sollte sich ein Strom
von 180mA einstellen. Aber was ist dann am Knotenpunkt, an dem das
Display auch seine 3,6V für die Hintergrundbeleuchtung abgreift?
Funktioniert das denn so, oder sollte ich das evtl mittels
Festspannungsregler machen?
Autor: Fabian B. (fabs)
Datum:

Kein Spannugsteiler, eineinfacher Vorwiderstand reicht doch.

Der Widerstand errechnet sich mittels:
R = \frac{U_{0} - U_{LED}}{I_{LED}}

Rechnen darfst du selbst...und auch mal nach LED und Vorwiderstand
suchen ;-)

Gruß
Fabian
Autor: Josef Kkk (zumlin)
Datum:

Achso

über die LED fallen definiert die 3,6V ab?! Na dann is gut. Dachte ich
muss die mit 3,6V "versorgen". Aber mit Strom "versorgen" macht wohl
mehr Sinn. :)

Danke

PS: Nur um sicher zu gehen: Es sollten dann die ~24,4 Ohm (wie oben) als
reiner Vorwiderstand sein, oder?
Autor: Dennis (Gast)
Datum:

Hi,

ich habe auch versucht die t6963c lib zum laufen zu bekommen aber bei
mir tut sich da überhaupt nichts.

Ich benutze ein SDK500 mit einem ATMega644 dazu ein display mit einem
t6963c controller (Bolymin 240128a).

Bei sämtlichen Beispielprogrammen die ich jetzt ausprobiert hab tut sich
genau gar nichts und ich krieg einfach nicht raus woran es liegt :(
Autor: Fabian B. (fabs)
Datum:

@zumlin: wenn die LEDs mit 3,6V angegeben sind im DB dann werden wohl
etwa 3,6V bei Nennstrom an ihnen abfallen. LEDs haben eine
Flussspannung, die sich bei einer bestimmten Stromstärke einstellt.
Weniger Strom -> weniger Spannung fällt an der LED ab und vice versa.

Bzgl. des Widerstandes: denk daran, dass da bei einem rnd. 25Ohm
Widerstand und 180mA ca. 0,8W Leistung verbraten werden. Also nimm
lieber einen ausreichend dicken R, oder auch zwei kleinere in Reihe. Du
kannst aber auch durchaus mal mit 62Ohm oder sogar 100 Ohm
experimentieren... die LED Helligkeitskennlinie ist alles andere als
linear.

@Dennis: mein Auto ist kaputt und ich weiss nicht warum, helft mir! ;-)
Mehr Details, Anschlussplan, Software, was genau passiert...

Gruß
Fabian
Autor: Dennis (Gast)
Datum:

Anschlussplan:

Display                STK500
PIN1  FRAME GND        PORTC GND
PIN2  GND              PORTA GND
PIN3  Vdd +5V          PORTA 5V
PIN4  Contrast         hängt an nem Poti...
PIN5  /WR              PORTA0
PIN6  /RD              PORTA1
PIN7  /CE              PORTA2
PIN8  C/D              PORTA3
PIN9  Vee - 16V        am Poti...
PIN10 /RESET           PORTA4
PIN11 DATA0            PORTC0
PIN12 DATA1            PORTC1
PIN13 DATA2            PORTC2
PIN14 DATA3            PORTC3
PIN15 DATA4            PORTC4
PIN16 DATA5            PORTC5
PIN17 DATA6            PORTC6
PIN18 DATA7            PORTC7
PIN19 FS               PORTA5
PIN20 RV               PORTA6

Software: ich hab die Daten von Läubi benutzt hier aus dem Beitrag
(Datum: 02.02.2009 18:56 )
AVR Studio 4, GCC Plugin 1.0.0.11

Hardware: STK500, ATMega644, Display: Bolymin 240128a mit t6963c
Controller

Ich kann alles wunderbar kompilieren und auch auf den ATMega644 hoch
schieben. Während das passiert flackert das Display mal kurz und zeigt
dann einfach nichts an (je nach kontrast eben nur ein schwarzes viereck
oder nichts)
Bei einem reset auf dem STK500 erscheinen kurz linien auf dem Display
dann wieder nichts.

Die Pin Belegung wurde natürlich in der t6963c.h angepasst, ansonsten
wurden keine veränderungen am Code vorgenommen.

mfg Dennis
Autor: Fabian B. (fabs)
Datum:

Bei Port-C klingelt bei mir doch sofort die JTAG-Fuse-Klingel.

Schau mal ob die Fuse für JTAG noch aktiv ist...die blockiert dir dann
nämlich die Hälfte von Port-C

Gruß
Fabian
Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

JTag war wirklich noch gesetzt und nach dem entfernen kommt jetzt
zumindest mal Pixelmüll an :)

Ich hab gerade nochmal die Belegung und Verdrahtung überprüft und glaube
eigentlich alles richtig gemacht zu haben. (wie oben beschrieben)

Im Anhang die aktuelle Ausgabe auf dem Display
Autor: Fabian B. (fabs)
Datum:

Stimmt deine Clock und auch die Fuses dazu? Ist die Init-Sequenz
richtig? Stimmen die Timings in der Init-Sequenz (hier sind wir wieder
bei der Clock)?

Klassischer Fehlgedanke: "Ich nehm mal den internen Oszillator mit
8MHz", aber man vergisst die CLKDIV Fuse zu deaktivieren.

Gruß
Fabian
Autor: serg (Gast)
Datum:
Angehängte Dateien:

Hallo habe das gleiche Problem wie der Dennis. Bin schon am
verzweifeln....
Bekomme die Bibliothek einfach nicht zum laufen. Die verdrahtung stimmt.
Habe schon viele andere Bibliotheken ausprobiert aber die laufen auch
nicht. Benutze einen atmega128 und winavr. Wisst ihr was ich da falsch
mache?
Im anhang mein Projekt....
Autor: Sergej Schwab (serg)
Datum:
Angehängte Dateien:

Will nur etwas mit Hilfe der bib Anzeigen lassen. Benutze deswegen schon
bereits fertige Projekte. Hier noch eins. Habe nur die Pinbelegung
verändert aber wie oben schon bereits gesagt.....es tut sich nichts..
gruß serg
Autor: Sergej Schwab (serg)
Datum:

Eine Frage an die, die ein Initialisierung schon mal selber geschrieben
haben. Könnte mir jemand helfen und erklären was man da genau machen
muss. Verstehe das nicht mit ce, cd, rw und rst. Habe schon mal ein
Textdisplay zum laufen bekommen aber das war wesentlich einfacher...
Gruß Serg
Autor: Sergej Schwab (serg)
Datum:

finde es schade das sich bisher keiner gemeldet hat.
Für denjenigen der mir hift das LCD anzusteuern gibt etwas Kleingeld.
Bei Fragen schreibt mir. Schreibe zur Zeit eine Diplomarbeit und komme
mit dem LCD nicht weiter. Muss dringend das LCD angesteuert bekommen.
Gruß serg
Autor: Steffen H. (Gast)
Datum:

Was hast du denn da für ein Display dran? 240x128?? Zeigt es nur wilde
Streifen und Muster? -> dann stimmt ja schon mal die Kontrastspannung.
Autor: Sergej Schwab (serg)
Datum:
Angehängte Dateien:

Hallo, danke für die Antwort.
Ja das ist ein 240x128 Display. Im Anhang das Datenblatt.
Beim Anzeigen kommt es immer darauf an welche Bibliothek ich benutze.
Manchmal zeigt er mir nur einen Streifen an, manchmal bewegt sich dieser
Streifen und ein anderesmal wird nichts angezeigt. Habe gedacht dass es
vieleicht am JTAG liegt, weiß aber nicht wie ich ihn Ausschalten soll.
Benutze AVR Studio. Gruß Sergej
Autor: Steffen H. (Gast)
Datum:

Deine Difines scheinen erstmal in Ordnung zu sein. Was machst du mit dem
MD2-Anschluss des Displays?
Autor: Steffen H. (Gast)
Datum:

MD2 -> High wenn FontSelect = 8x8 (wide)
MD2 -> Low  wenn FontSelect = 6x8 (narrow)
Autor: GURKE (Gast)
Datum:

Moin,
Ich dachte mir, das ich hier wohl richtig sein würde. Immerhin quatscht
ihr hier nun ein par Jahre ;)

Ich habe mir ein ATMEGA 32-16 DIP bei Reichelt gekauft
http://www.reichelt.de/?ACTION=3;ARTICLE=45026;PROVID=2402
Außerdem noch ein Grafik LCD "LM6270SYL" bei Pollin.de gekauft welcher
mit einem toshiba t6963c angesteuert wird.

Nun wollte ich mit dem ATMEGA das LCD anzusteuern. Programmieren wollte
ich es mit dem Programmer:
http://www.reichelt.de/?ACTION=3;ARTICLE=45040;GRO...


Könnt ihr mir da ein Schaltplan liefern, wie ich die alle verbinden
muss? Und wie kann ich das Display ansteuern? Habt ihr da schon so
Standard-Codes zum auszuprobieren, auf denen man dann aufbauen kann?

Danke schonmal!

Gruß
GURKE

PS: Als wir diese Sachen gekauft hatten, hatte mein Bruder die Sachen
ausgesucht weil er davon am meisten Ahnung hat. Nun hat sich allerdings
rausgestellt, das er im Grunde genommen kein Ahnung hat. Ich hoffe ihr
könnt mir da helfen!
Autor: Sergej Schwab (serg)
Datum:

Hallo Gurke,
hoffe das hilft dir weiter
http://www.8051projects.net/out.php?link=http://en...
gruß serg
Autor: Sergej Schwab (serg)
Datum:
Angehängte Dateien:

Hallo Steffen,
weißt du wie ich ein bereits vorhandenes Programm an einen atmega128
anpasse?(Einstellungen etc.) Habe eine neuere Headerdatei gefunden,
diese ist aber für einen Atmega16 und wenn ich nur den Prozessortypen in
der Option ändere dann bleiben im rechten fenster immer noch die Ports
vom atmega16, ungeändert und unten im Fenster wird der atmega16 als
Prozessortyp angezeigt. Machen ich ein neues Projekt und binde die
Dateien neu ein so bekomme ich viele Fehlermeldungen.
Im Anhand die neue BIB
vielen Dank für die Mühe
meine email ansergej@gmx.de
Gruß Serg
Autor: Josef Kkk (zumlin)
Datum:

Hallo,

habe ziemlich das gleiche Problem wie Sergej. Habe ebenfalls das Display
von Reichelt und einen AT90CAN128 als µC.

Hier mal meine defines in der T6963c-Bib:
/*
 *  GND               (1)  ground 
 *  VDD               (2)  LCD logic supply  +5 DC
 *  Spanungsteiler    (3)  
 *  CD                (4)  <--> 
 *  /RD               (5)  <--> 
 *  /WR               (6)  <--> 
 *  D0                (7)  <--> 
 *  D1                (8)  <--> 
 *  D2                (9)  <--> 
 *  D3                (10) <--> 
 *  D4                (11) <--> 
 *  D5                (12) <--> 
 *  D6                (13) <--> 
 *  D7                (14) <--> 
 *  /CE               (15) <--> 
 *  RS                (16) <-->
 *  Spannungsteiler   (17) 
 *  MD2               (18) <-->
 *  FS                (19) <-->
 *  NC                (20) NC
 */


/****************************************
// **    PIN DEFINITIONS      // **
// **
*****************************************/

#define glcd_wr_PIN    0      // **
#define glcd_wr_PORT  PORTC   // **

#define glcd_rd_PIN    1      // **
#define glcd_rd_PORT  PORTC   // **

#define glcd_ce_PIN    2      // **
#define glcd_ce_PORT  PORTC   // **

#define glcd_cd_PIN    3      // **
#define glcd_cd_PORT  PORTC   // **

#define glcd_rst_PIN  4      // **
#define glcd_rst_PORT  PORTC // **

#define glcd_fs_PIN    5     // **
#define glcd_fs_PORT  PORTC  // **

#define glcd_rv_PIN    6     // **  //gibt es bei mir nicht
#define glcd_rv_PORT  PORTC  // **

#define glcd_DATA_PORT   PORTA // **
#define glcd_DATA_PIN  PINA    // **
#define glcd_DATADIR  DDRA     // **

#define glcd_md2_PIN  7       // **
#define glcd_md2_PORT  PORTC  // **                  
//***************************************
//***************************************

Leider klappt bei mir schon glcd_init() nicht. Gleich beim ersten Befehl
glcd_dput(glcd_G_BASE%256) bleibt mein µC in einer Endlosschleife in
glcd_dput() in Zeile 1 hängen, da die Antwort von glcd_sget immer 0x00
ist:
do {} while ((0x03 & glcd_sget()) != 0x03); // wait until display ready

Ansonsten bleibt das Display leer ohne zu flacker. Das liegt evtl daran,
dass ich MD2 geschalten habe. In der originalen Bib wird der benötigete
Pin am µC ja nie als Ausgang geschalten. War ja auch nicht nötig.

Trotzdem läuft bei mir das Display auch nicht :(
Autor: Josef Kkk (zumlin)
Datum:

Arrg. Habs gefunden. Lag leider an einer Durchkontaktierung für den RD
Pin. :)

@Sergej: Die Bibliothek sollte also laufen, insofern du MD2 auch auf
High oder Low ziehst. Falls du noch Hilfe brauchst, dann melde dich.
Autor: Sergej Schwab (serg)
Datum:
Angehängte Dateien:

Hallo,
vielen Dank für eure Hilfe. Habe den Fehler jetzt gefunden. Da ich einen
Atmega128 verwende muss der 103-Kompabilitäts Fuse entfernt werden.
Jetzt geht es.....
Weiß jemand von euch wie ich eine andere Schriftart verwenden kann, oder
wie ich Sie an mein Programm anpasse?
Das Prog habe ich hinzugefügt.
Gruß Serg
Autor: Josef Kkk (zumlin)
Datum:

Hallo

ich versuche gerade die Funktion Big_Font Funktionen zu nutzen und
möchte mir dabei aus der internen Codemap ein paar Zeichen vergrößer.
Leider funktioniert das nicht ganz. Sobald ich einen neuen Bereich
vergrößern will, Zeigt das Display für diesen nur Müll an.
Hier mal der relevante Teil:
  //TEST
  glcd_clear_graph();
  glcd_clear_text();
  //, - . / 0 bis 9
  glcd_make_big_font (0x0C, 0x19, 128);  //bis 141  0 bis 13
  //h i j k l m
  glcd_clear_graph();
  glcd_clear_text();
  glcd_make_big_font (0x48, 0x4D, 142);  //bis 147  14 19
  
  glcd_print_big (1, 3, 0, 128);
  glcd_print_big (3, 3, 13, 128);
  glcd_print_big (5, 3, 14, 128);
  glcd_print_big (7, 3, 19, 128);



@Sergej

Ich glaube in dem Beitrag "GLCD T6963C Font-Tool" wurde das
ganz gut erklärt.
Autor: Sergej Schwab (serg)
Datum:

Hallo Josef,
danke für den Link. Habe den Fehler gefunden. Anstelle von
glcd_print....
muss man lcd_print... schreiben, dann funktioniert es mit den Fonds
einbinden. Danke dir.
Gruß Serg
Autor: Massa-Master (Gast)
Datum:

Hi
So die Display Rutine läuft bei mir klasse. Ich habe aber noch ein
Problem. ich habe mir das Grafik Konvertierungstool von Klabunde geladen
und mir ne C-Datei mit dem Bild erstellt. Wie bekomme ich die jetzt auf
den Display dargestellt? Bitte mit diese Library, weil das die einzige
ist die bei mir funktioniert hat.
Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Hallo zusammen,

ich verwende das Display TLX-1013 von Toshiba mit einem Atmega 128. Das
Display ist richtig angeschlossen, aber es funktioniert nur teilweise.
Nur die obere Hälfte des Displays funktioniert. Auf der unteren Hälfte
wird nur Datenmüll angezeigt. Dieses Problem haben wohl auch schon
andere mit dem Display gehabt, jedoch konnte ich keine Lösung zu diesem
Problem finden. Der einzige Hinweis den ich gefunden habe, ist, dass ich
irgendwas im Adressbereich ändern muss. Ich habe versucht mir aus den
angehängten Datenblatt die Informationen herauszulesen, bin jedoch auf
nichts gestoßen, was mich weiterbringen könnte. Die Informationen auf
Seite 10 sehen aber nicht uninteressant aus.
Das Display hat 160x128 Pixel und ich verwende die Library aus diesem
Thread.
Danke schonmal für eure Antworten.
Autor: Ralf (Gast)
Datum:

> Die Informationen auf Seite 10 sehen aber nicht uninteressant aus.
Dann verwende die Infos doch:
Daten für die obere Hälfte des Display liegen im Adressbereich von
0x0000-0x0FFF, und für die untere Hälfte von 0x8000-0x8FFF, macht also
zweimal 4kB.
Die Software muss das halt passend umbiegen. Also wo konkret ist das
Problem?

Ralf
Autor: Benedikt (Gast)
Datum:

Das konkrete Problem ist diese Informationen in die Lib zu übernehmen...
Ich weiß nicht, wo ich diese Informationen eintragen muss.
Autor: Benedikt (Gast)
Datum:

Vllt. könnte mir zumindest jemand sagen, wie ich vorgehen soll, um die
Lib zu ändern, also ein paar erste Schritte...
Autor: Ralf (Gast)
Datum:

Hi Benedikt,

> Das konkrete Problem ist diese Informationen in die Lib zu übernehmen...
> Ich weiß nicht, wo ich diese Informationen eintragen muss.
Siehste, dass ist ne Aussage mit der ich was anfangen kann :)

Okay, du musst folgendermaßen vorgehen:
- lokalisiere die Funktionen, die Text- und Grafikdaten ins RAM des
Displays schreiben (wenn die Lib was taugt, sollten das genau zwei
Funktionen sein)
- diese Funktionen musst du so erweitern, dass sie die RAM-Zugriffe
entsprechend umbiegen, d.h. du musst erkennen, wo adressmäßig die obere
Hälfte endet und demnach auf die Adresse der folgenden Zugriffe 0x8000
dazu addieren

Hört sich schwieriger an, als es (wahrscheinlich) ist. Wenn du
Schwierigkeiten hast, das umzusetzen, frag nochmal. Ich schlage vor,
dass du die Sourcen deiner Lib verwendest (ich mag nicht eine der weiter
o.g. Sourcen verwenden, für den Fall dass die nicht mehr aktuell sind
o.ä.)

Ralf
Autor: Ralf (Gast)
Datum:

EDIT:
> Ich schlage vor, dass du die Sourcen deiner Lib _verwendest_
Sollte natürlich postest heissen, sorry.

Ralf
Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Also hier ist die Lib die ich verwende. Ich schaue morgen mal rein, bin
aber bis dahin dankbar für jeden Tipp.
Autor: Benedikt (Gast)
Datum:

Also ich habe mal reingeschaut und gesucht, aber so ganz klar ist mir
noch  nicht welche Funktionen dafür zuständig sind.
Autor: Benedikt (Gast)
Datum:

Also ich habe jetzt ein paar Sachen probiert, aber ausser
Compilerfehlern habe ich nichts erreicht. Ich wäre für einen Tipp sehr
dankbar...
Autor: Benedikt (Gast)
Datum:

Ich gebe bald auf. Kann mir bitte mal jemand helfen, dass in der Lib zu
ändern. Ich finde nicht die genaue Stelle wo ich das umändern kann. Bzw.
wie es hinzufügen kann.
Autor: Ralf (Gast)
Datum:

Ich würde mal vermuten, dass die Funktion "glcd_set_address()" der erste
Ansatzpunkt ist. Es wird das Problem nicht auf einen Schlag lösen,
müsste aber dafür sorgen, dass du in der unteren Hälfte auch was
siehst...

Ralf
Autor: Benedikt (Gast)
Datum:

Ja genau die Funktion habe ich auch als Ansatzpunkt genommen, komme da
aber nicht weiter. Habe auch mal bei glcd_T_BASE 0x8A00 eingetragen
anstatt 0x0A00
Jetzt erscheinen aber auf der unteren Hälfte vielen Pixel und mittendrin
die Zeichen die ich gesendet habe. Auf der oberen Hälfte erscheint das
gleiche dann ohne die Pixel.
Autor: Benedikt (Gast)
Datum:

Also ich habe nochmal alles probiert, aber ich komme auf keinen grünen
Zweig.
@Ralf: Könntest du mir dabei helfen die Lib etwas umzuschreiben. Ich
arbeite mich gerade in das µC Gebiet ein und lerne gerade alles über ADC
etc.
Display Rams etc wollte ich erst später durchgehen.
Ich habe leider kein anderes Display hier, sonst würde ich so lange
einfach ein anderes nehmen...
Autor: Benedikt (Gast)
Datum:

Wenn ich unter #define glcd_T_BASE 0x8A00 eingebe anstatt #define
glcd_T_BASE 0x0A00 und bei #define glcd_G_BASE 0x8000 anstatt #define
glcd_G_BASE 0x0000 wird nicht, wie erwartet nur die untere Hälfte des
Displays angesteuert, sondern beide Hälften parallel. Es erscheint exakt
das gleiche auf beiden Hälften.
Würde jetzt nur die untere Hälfte angesteuert, hätte ich einfach beide
Hälften einzeln über die Software nachher angesteuert. SO verstehe ich
es aber nicht. Wie könnte ich den nur die untere Hälfte ansteuern?
Autor: Lukas Migi (luke_)
Datum:

Ich hätt mal ne Frage und zwar welche Taktfrequenz muss ich den für
einen Atmega32 nehmen?
mfG
Autor: oobi (Gast)
Datum:

Hi,

habe ein TLX-1013-E0,
an einem NetIO mit atmega 32 mit 16Mhz.
Daten Port C,den rest an Port D.

Nur ich finde überall andere pin belegungen??
Es kommen Symbole und das Display blinkt.
Welcher ist der RV pin??

Fuse müssten eigentlich soweit passen.
Verkabelung auch.
Liegt es an JTAG? wenn ich den ausmache kann ich nicht mehr per ISP
flashen?

Gruß
oobi
Autor: hft47 (Gast)
Datum:

Hei oobi


Habe gerade Deinen Eintrag gelesen und das Datenblatt von Pollin
geladen.
Ein bekanter von mir hat das gleiche.
In dem ist für ISP der Port B,also Miso,Mosi,SCK zuständich.
 Wenn Du den Port C frei benutzen willst, must Du JTAG deaktivieren.
Ich versuche auch gerade ein TLX-1013-E0 zum laufen zu bringen(am
mega32). Bei mir liegt das Poblemm auch darin, das nur die obere Hälfte
ordentlich arbeitet. Ich programiere mit Bascom. Habe es auch mit C
versucht, aber leider noch kein funktionierendes Programm, das ich mit
WinAvr an meine Aufgabe anpassen könte, gefunden.

vileich bekomme ich doch noch Hilfe. habe 4 Displays.

mfg
hft47
Autor: oobi (Gast)
Datum:

Hi
ja bei dem NetIO liegt ISP aber doch auch port B.

Habe mitlerweile alle Ports ma durchprobiert im moment habe ich Daten
auf Port C und den rest auf Port A.

hft47 kannst du mir mal die Pin belegung schicken und welche pins
benutzt werden, bin mir nicht ganz sicher ob das alles so richtig
ist,weil die Software die ich von hier habe und mein display
unterschiedliche belegung hat.

Gruß
oobi
Autor: hft47 (Gast)
Datum:

Hier eine Config
Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Portd ,
Wr = 2 , Rd = 3 , Ce = 4 , Cd = 5 , Reset = 6 , Fs = 7 , Mode = 8

Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portd ,
Wr = 2 , Rd = 3 , Ce = 4 , Cd = 5 , Reset = 6 , Fs = 7 , Mode = 8
eigentlich egal welche pins. Gehen alle. Leider bei meinen Displays
immer nur die obere Hälfte.
Autor: oobi (Gast)
Datum:

Hast du auch ein TLX-1013-E0??

weil laut datenblatt ist bei mir Wr=5 , RD=6 , CE=7 , C/D=9 , rst=10 ,
D0-D7=11-18

mein display hat auch nur eine auflösung von 160x128 pixel.


Gruß
oobi
Autor: hft47 (Gast)
Datum:
Angehängte Dateien:

'The connections of the LCD used in this demo
'LCD pin                  connected to
' 1        GND            GND
 '2        GND            GND
 '3        +5V            +5V
 '4        -9V            -9V potmeter
 '5        /WR            PORTC.0  (PORTD.2)oder Porta.0 oder B.0
 '6        /RD            PORTC.1  (PORTD.3)
 '7        /CE            PORTC.2  (PORTD.4)
 '8        C/D            PORTC.3  (PORTD.5)
 '9        NC             not conneted
 '10       RESET          PORTC.4  (PORTD.6)
 '11-18    D0-D7           PA      (PB oder c
 '19       FS             PORTC.5  (PORTD.7)
 '20       NC             not connected
Autor: holger (Gast)
Datum:

@hft47

Dein Display sieht aus wie ein 128x128 und nicht 240x128.
Autor: hft47 (Gast)
Datum:

es ist ein TLX1013E0 160X128
Autor: holger (Gast)
Datum:

>es ist ein TLX1013E0 160X128

Na gut, dann eben 160 statt 128. Und wieso trägst du es als 240er ein?
Autor: hft47 (Gast)
Datum:

leider arbeitet BasCom nur mit Auflösungen von 240x128,128x128,128x64
usw
Autor: hft47 (Gast)
Datum:

die untere Hälfte wird von der Bascom glcd.lib eben leider nicht
unterstüzt.
Auch in C-Programmen habe ich nichts finden können, wo das geht. Da die
Anzeigen doch schon relatiev alt sind, gab es früher einige Beiträge.
Mit keinem richtigen suchervolg auf eine lib für dieses Display. siehe
oben
Autor: hft47 (Gast)
Datum:

bei dieser Configuration arbeitet wenigstens die obere Hälfte präziese
in Text und Grafigbefehlen von Baskom. Auch die einstellung 240x64 geht
für die obere Hälfte. gerade noch mahl getestet.
Autor: oobi (Gast)
Datum:

was ich nicht verstehe ich habe die WetterStationDisplay software von
hier benutzt und auch so angeschlossen aber es ging nicht ne zeitlang
kamen seltsame zeichen und das Display hat geblinkt.
Jetzt habe ich es wieder anderes angeschlossen und jetzt bleibt das
Display dunkel.
Eigentlich müsste ja "Hello World" kommen?
Ka was ich noch machen soll.
Jemand ne idee??

Gruß
oobi
Autor: hft47 (Gast)
Datum:

Schreibst du in C?
Autor: oobi (Gast)
Datum:

nee ich nimm einfach die "WetterStationDisplay" software die hier in dem
Beitrag jemand hochgeladen hat und passe einfach die Pins an.

gruß
oobi
Autor: hft47 (Gast)
Datum:

habe gerade "WetterStationDisplay" in WinAvr geladen, versucht die pins
anzupassen, kompeliert, gebrannt AVRm32, 2 wagerechte lienien das wars
Autor: hft47 (Gast)
Datum:

fehler beim anpassen
jezt läuft di obere hälfte des display.
Ähnlich alter Bildschirmschoner (Rotierende Lienien)
Autor: oobi (Gast)
Datum:

@ hft47 was hast du für ein Board oder hast du einfach nur ein
atmega32??
und an welchen Port hast du was jeweils dran das es mit der
Wetterstation leuft?

Gruß
oobi
Autor: hft47 (Gast)
Datum:

ich benutze zum testen ein Bort von Pollin.
Ich habe im prog t6963c.h geändert

/*
 *  FG                (1)  frame ground
 *  GND               (2)  ground
 *  VDD               (3)  LCD logic supply  +5 DC
 *  VO                (4)  Contrast
 *  /WR               (5)  <-->
 *  /RD               (6)  <-->
 *  /CE or /CS        (7)  <-->
 *  CD or RS          (8)  <-->
 *  /RST              (9)  <-->

 *  D0                (10) <-->
 *  D1                (11) <-->
 *  D2                (12) <-->
 *  D3                (13) <-->
 *  D4                (14) <-->
 *  D5                (15) <-->
 *  D6                (16) <-->
 *  D7                (17) <-->

 *  FS                (18)           font select       HI : narrow
LOW : Wide   ( normal )
                                                       40 with 6x8 font
30 with 8x8 font
 *  Vout              (19)           Variable Resistor (~5K Ohm) with
GND and centre with VO ( Pin 4 ). Used for contrast adjustment.
 *  BLA               (20)           Back light + (+5V DC)
 *  BLK               (21)           Back light - (GND)
 *  DSPON             (22)           I don't Know   but i think means
display ON or ...
 */



/****************************************
                  // **
           PIN DEFINITIONS      // **
                  // **
*****************************************/
                  // **
#define glcd_wr_PIN    2      // **0
#define glcd_wr_PORT  PORTD    // **
                  // **
#define glcd_rd_PIN    3      // **4
#define glcd_rd_PORT  PORTD    // **
                  // **
#define glcd_ce_PIN    4      // **1
#define glcd_ce_PORT  PORTD    // **
                  // **
#define glcd_cd_PIN    5      // **3
#define glcd_cd_PORT  PORTD    // **
                  // **
#define glcd_rst_PIN  6      // **2
#define glcd_rst_PORT  PORTD    // **
                  // **
#define glcd_fs_PIN    7      // ** 0, PortD
#define glcd_fs_PORT  PORTD    // **
                  // **
#define glcd_rv_PIN    1      // **
#define glcd_rv_PORT  PORTD    // **
                  // **
#define glcd_DATA_PORT     PORTC  // **
#define glcd_DATA_PIN    PINC  // **
#define glcd_DATADIR    DDRC  // **
                  // **
//***************************************
Autor: oobi (Gast)
Datum:

Stimmt jetzt das



/*
 *  FG                (1)  frame ground
 *  GND               (2)  ground
 *  VDD               (3)  LCD logic supply  +5 DC
 *  VO                (4)  Contrast
 *  /WR               (5)  <-->
 *  /RD               (6)  <-->
 *  /CE or /CS        (7)  <-->
 *  CD or RS          (8)  <-->
 *  /RST              (9)  <-->

 *  D0                (10) <-->
 *  D1                (11) <-->
 *  D2                (12) <-->
 *  D3                (13) <-->
 *  D4                (14) <-->
 *  D5                (15) <-->
 *  D6                (16) <-->
 *  D7                (17) <-->

 *  FS                (18)           font select       HI : narrow
LOW : Wide   ( normal )
                                                       40 with 6x8 font
30 with 8x8 font
 *  Vout              (19)           Variable Resistor (~5K Ohm) with
GND and centre with VO ( Pin 4 ). Used for contrast adjustment.
 *  BLA               (20)           Back light + (+5V DC)
 *  BLK               (21)           Back light - (GND)
 *  DSPON             (22)           I don't Know   but i think means
display ON or ...
 */


oder die Pin belegunf?

'The connections of the LCD used in this demo
'LCD pin                  connected to
' 1        GND            GND
 '2        GND            GND
 '3        +5V            +5V
 '4        -9V            -9V potmeter
 '5        /WR            PORTC.0  (PORTD.2)oder Porta.0 oder B.0
 '6        /RD            PORTC.1  (PORTD.3)
 '7        /CE            PORTC.2  (PORTD.4)
 '8        C/D            PORTC.3  (PORTD.5)
 '9        NC             not conneted
 '10       RESET          PORTC.4  (PORTD.6)
 '11-18    D0-D7           PA      (PB oder c
 '19       FS             PORTC.5  (PORTD.7)
 '20       NC             not connected



Muss zwischen 19 ein 5K wieder stand zu +5V


Gruß
oobi
Autor: hft47 (Gast)
Datum:

ich habe keinen R verwendet außer Kontrastpoti
Autor: oobi (Gast)
Datum:

und welche pin belegung hast du 1. oder 2.??
Autor: hft47 (Gast)
Datum:

Dataport = Portc , Controlport = Portd ,
Wr = Portd.2 , Rd = Portd.3 , Ce = Portd.4 , Cd = Portd.5 , Reset =
Portd.6 , Fs = Portd.7
Autor: oobi (Gast)
Datum:

das schon klar,
ich mein die Pin belegung von dem LCD welcher pin was ist.

 FG                (1)  frame ground
 *  GND               (2)  ground
 *  VDD               (3)  LCD logic supply  +5 DC
 *  VO                (4)  Contrast
 *  /WR               (5)  <-->
 *  /RD               (6)  <-->
 *  /CE or /CS        (7)  <-->
 *  CD or RS          (8)  <-->
 *  /RST              (9)  <-->

 *  D0                (10) <-->
 *  D1                (11) <-->
 *  D2                (12) <-->
 *  D3                (13) <-->
 *  D4                (14) <-->
 *  D5                (15) <-->
 *  D6                (16) <-->
 *  D7                (17) <-->

 *  FS                (18)

oder

1        GND
 '2        GND
 '3        +5V
 '4        -9V
 '5        /WR
 '6        /RD
 '7        /CE
 '8        C/D
 '9        NC
 '10       RESET
 '11-18    D0-D7
 '19       FS
 '20       NC

Gruß
oobi
Autor: hft47 (Gast)
Datum:

ja
Autor: hft47 (Gast)
Datum:

die Zahlen in der Klammer sind die Pins am GLCD
Autor: hft47 (Gast)
Datum:

Pins am GLCD
Pin1        GND
 " 2        GND
 " 3        +5V
 " 4        -9V
 " 5        /WR
 " 6        /RD
 " 7        /CE
 " 8        C/D
 " 9        NC
 " 10       RESET
 " 11-18    D0-D7
 " 19       FS
 " 20       NC
Autor: oobi (Gast)
Datum:

gut danke dir dann weiß ich schon mal das meine grund basis stimmt dann
werde ich nochmal rum probierenund bescheid sagen wenn was geht.


gruß
oobi
Autor: hft47 (Gast)
Datum:

ich probiere gerade mit WinAvr die t6963c.h an 160x128 anzupassen. Habe
von 240 auf 160 pixelbreite und 20 zeichen 8x8 umgestellt. Obere Hälfte
läuft priema. "Hallo World" wird beim zeichnen der linien an
denPixeltreffponkten invertiert und nach weiterziehen der Liniern wieder
richtig Dargestellt.

mfg
hft47
Autor: hft47 (Gast)
Datum:
Angehängte Dateien:

2 aufnamen
Autor: holger (Gast)
Datum:

Versuch mal das in deiner T6963c.h

void glcd_set_address(unsigned int addr){
if(addr >= 0x1000 )
{
 addr -= 0x1000;
 addr += 0x8000;
}

glcd_dput(addr%256);
glcd_dput(addr>>8);
glcd_cput(0x24);
}

Das ist wahrscheinlich noch nicht die ganze Miete,
aber evtl. siehst du dann was auf der unteren Hälfte.
Autor: hft47 (Gast)
Datum:

Danke für deinen Tip.
habe folgende Änderungen gemacht:
/* ----- Definitions concerning LCD internal memory  ------ */

#define glcd_FONT_SELECT 0        // Which Font? 1 = FS HIGH = narrow
(6x8) / 0 = FS LOW = normal (8x8)

//#if glcd_FONT_SELECT          // narrow font
//    #define glcd_FONT_WIDTH 6      // pixel width
//  #define glcd_BYTES_PER_ROW 0    // 40 chars per row
//  #define glcd_G_BASE 0x0400      // base address of graphics memory
//#else                  // normal font
  #define glcd_FONT_WIDTH 8      // pixel width
  #define glcd_BYTES_PER_ROW 20    // 30 chars per row
  #define glcd_G_BASE 0x0000      // base address of graphics memory
//#endif

#define glcd_T_BASE 0x0a00        // base address of text memory

#define glcd_XMAX 160        // 240 limits of (x,y) LCD graphics drawing
#define glcd_XMIN 0
#define glcd_YMAX 128
#define glcd_YMIN 0

Zahlen hinte // sind die alten Werte
Autor: hft47 (Gast)
Datum:

jetzt Dein Vorschlag:

// ------------------------------------------------------------
void glcd_set_address(unsigned int addr){
if(addr >= 0x1000 )
{
 addr -= 0x1000;
 addr += 0x8000;
}

glcd_dput(addr%256);
glcd_dput(addr>>8);
glcd_cput(0x24);
}

altes auskommenteirt:

/*void glcd_set_address(unsigned int addr){
glcd_dput(addr%256);
glcd_dput(addr>>8);
glcd_cput(0x24);
}
*/

Keine Änderung.
bin leider absoluter Anfänger in C
daher sehr auf Komentare angewiesen.
wenn ich die werte der glcd_G_BASE von 0000h auf 8000h und
glcd_T_BASE 0x0a00 auf 0x8a00 ändere, werden obere und untere Seite
gleich beschrieben. Also untere Seite ganz! Setze ich die alter Werte
und Brenne neu, bleibt der untere Teil erhalten, der Obere wird neu
beschrieben.


fht47
Autor: holger (Gast)
Datum:

Ich glaube es wäre einfacher bei deinem Display
A15 abzutrennen und an A12 anzuschliessen;)
Autor: hft47 (Gast)
Datum:

Was meinst Du mit A15 und A12

hft47
Autor: holger (Gast)
Datum:

>Was meinst Du mit A15 und A12

Die Adressleitungen vom T6963 zum RAM.

Dein Display ist ne Fehlkonstruktion;)
Autor: hft47 (Gast)
Datum:
Angehängte Dateien:

meinste hier !!!
Autor: holger (Gast)
Datum:
Angehängte Dateien:

Siehe Bild. Rot durchschneiden und blau verbinden.
Auf eigene Gefahr natürlich.
Autor: hft47 (Gast)
Datum:

ich weis noch nicht recht. Habe zwar 4 Stück, werde es doch lieber erst
mit Software versuchen. Schneiden kann ich immernoch


mvf
hft47 nabend
Autor: holger (Gast)
Datum:

>ich weis noch nicht recht.

Jetzt wo es spannend wird machst du nen Rückzieher;)
Naja, musst du selber wissen. Ist schon ok.
Das Ding ist aber ne echte Krücke. Das muss man quasi
wie zwei getrennte Displays behandeln.
Autor: hft47 (Gast)
Datum:

Hei
Ich habe es riskiert!!!

Jezt werden beide Hälften parallel angesteuert.
Schade.
Ewentuell falscher Pin?
Werde mal Morgen weitermachen.
mfg
hft47
Autor: hft47 (Gast)
Datum:

Habe Adr13 auf Adr15 gelegt.
Die gleiche Sch...

mfg
hft47
Autor: holger (Gast)
Datum:

>Habe Adr13 auf Adr15 gelegt.
>Die gleiche Sch...

Bringt alles nichts. Schliess A15 wieder so an wie es vorher war.
Laut Datenblatt wird das Display bei 160 Breite im Dual Scan betrieben.
Da lässt sich nichts dran ändern. Du hast dann zwei Displays mit 160x64.
Eins geht von 0x0000 bis 0x07FF. Das zweite von 0x0800 bis 0x0FFF.
Da müsste man einiges an der Software ändern damit da was geht. Wenn
du über Zeile 63 gehst musst du einen Offset von 0x800 zur Adresse
addieren. Leider sind sowohl der Grafik als auch der Textbereich dann
in zwei Teile gesplittet. Viel Spaß beim umrechnen.
Autor: hft47 (Gast)
Datum:

Kann man diese Konstanten:

#define glcd_T_BASE 0x0a00  // base address of text memory
#define glcd_G_BASE 0x0000  // base address of graphics memory
in variable umwandeln ???
dan könte man sie im laufenden Programm hin und her umschalten in
obere oder obere und untere Hälfte!
glcd_G_BASE 0x8000  // base address of graphics memory
glcd_T_BASE 0x8a00  // base address of text memory

nach umschalten auf obere Hälfte bleibt die untere Anzeige erhalten.
Erst beide Hälften, dan obere Hälfte neu beschreiben

geht das?????????

mfg
hft47
Autor: AtmegaMan (Gast)
Datum:

Hallo alle zusammen,

zunächst einmal großes Lob und vielen Dank für die Autoren der Library!

Nach langem Suchen und Testen bin ich hier fündig geworden und die Sache
läuft soweit einwandfrei. Ich nutze die Version die am 08.03.2006 16:43
von Florian hier hochgeladen wurde.

Nun meine Frage: Welche Funktion ist zum Anzeigen von Bitmaps gedacht?
Die glcd_show() sieht dafür doch erstmal nicht verkehrt aus. Doch Frage
ich mich, warum Nico in seiner Beispiel-Bitmap den Datentyp "uint8_t"
für das Array nutzt (char erwartet von der Funktion). Kann jemand bitte
kurz ein Codeschnipsel posten, wie ich das Bild aus der
"picture_beispiel.txt" anzeigen würde?

Würde mich über eine Antwort freuen:)
Autor: Daniel (Gast)
Datum:

Hallo zusammen,

ich benutze die Library jetzt seit ein paar Tagen, wirklich gut :)
Eine Frage habe ich aber:

Mir gefällt der Standard-Font von meinem T6963 ganz gut, den man über
glcd_print(int x, int y, const char *string) ausgeben kann.

Über x und y gibt man aber ja die Spalte und Zeile an, nicht aber die x
bzw. y-Koordinate auf dem LCD, wie der Name vermuten lässt.

Wie kann ich mit der Library an beliebigen Positionen auf dem Display
etwas ausgeben? Mit der Font-Erweiterung (Font generieren) klappt das
ja, geht das auch mit der Standard-Libary?

Besten Dank schon einmal,
Daniel
Autor: bastler (Gast)
Datum:

Hallo, guten Tag.
Ich habe von Pollin ein Display mit 128x64 Pixel.
Unter bascom funktioniert es.
Wie kann man deine Routinen umsetzen, das der Kreis zb bei mir auch rund
ist?
Autor: AtmegaMan (Gast)
Datum:

@bastler

warum sollte dein Kreis nicht rund sein? Wie sieht er denn aus?
gestaucht oder verschoben? Beschreibe das mal ein wenig.

Um meine eigene Frage zu beantworten. mit glcd_show() werden Bitmaps
gezeigt. Man muss dazu jedoch sagen die BMP's müssen die volle Breite
des LCD haben und somit ist eine Darstellung von 2 Bmps nebeneinander
nicht möglich. Man gibt die Zeile (0-15 bei einem 128 pixel hohem
Display) an und dann die Höhe der BMP in Pixel.

Ich habe mir darauf basierend eine eigene Funktion geschrieben. die mir
eine flexibelere Positionierung ermöglicht und auch bmps nebeneinander
passen.

Generell sei noch gesagt, dass das Array vom typ "const char []" sein
sollte und pixel/byte der fontbreite entsprechen muss. Ein gutes Tool
zum konvertieren ist das hier
http://en.radzio.dxp.pl/bitmap_converter/
funktioniert perfekt ;)

Viele Grüße
Autor: Bernd (Gast)
Datum:

Hey AtmegaMan,

ich bin gerade dabei auch ein Bild anzeigen zu lassen, ich hab momentan
das Problem, daß zwar alles angezeigt wird, aber seltsamerweise der ganz
rechte Teil wird links vom Bildschirm angezeigt.
Kannst du bitte mal dein Code posten, ich vermute ich starte nicht oben
links in der Ecke mit anzeigen an. Ich hab eine Base adresse von 0x0200,
ich vermute da liegt mein Fehler.
Ich finde nirgends ein Codeschnipsel über das Anzeigen von Bildern.

Gruß
Bernd
Autor: Bernhard (Gast)
Datum:
Angehängte Dateien:

Grüß euch,
Ich probiere und programmiere jetzt schon eine ganze Weile herum, um
eine Grafik richtig auszugeben...
Ich habe die aktuellste t6963c.h für mein 128x128 Display angepasst und
habe nun folgendes Problem:
Wenn ich eine Linie von 0,0 bis 64,64 zeichne sieht die Ausgabe so aus,
wie ich es im beiliegenden Bild gezeichnet habe, jede zweite Zeile wird
sozusagen eine Zeile nach oben geschoben..
Ich vermute, dass das Problem nicht am Display liegt, sondern am Code,
da eine vorherige Version (die ich versehentlich überschrieben habe)
bereits Grafiken (Linien und Kreise) richtig dargestellt hat.
Weiters vermute ich, dass der Fehler in der Funktion glcd_pixel liegt,
da der besagte Fehler sowohl beim Zeichnen von Kreisen, als auch bei
Linien auftritt, welche ja beide die glcd_pixel Funktion nutzen.

Die Textausgabe funktioniert ohne Probleme. Ich hoffe mir kann jemand
weiterhelfen, und bedanke mich schon mal im Voraus :)

grüße
bernhard
Autor: Bernhard (Gast)
Datum:

Hab den Fehler jetzt gottseidank schnell gefunden..
Ich hab die Adresse für den AdressPointer mit 128 statt 0xFF maskiert,
um HighByte und LowByte nacheinander ins 16Bit Register schreiben zu
können.
Saublöder Denkfehler ;).
Autor: martha (Gast)
Datum:

Hallo!

ich habe nun auch die Library zum laufen bekommen, möchte jetzt in einem
Text ein Zahl darstellen lassen können so wie:

printf("Raum 1 %i °C",temp_r1);

wie kann ich das machen ??? sprintf ?

danke!
Autor: martha (Gast)
Datum:

Hallo!
gibt es da keine einfache Lösung?


lg Martha
Autor: Josch (Gast)
Datum:

Hallo,

ich kann auch soweit super damit arbeiten, nur habe ich das Problem wenn
ich das Display mit FS umschalte auf 40 Zeichen pro Zeile kann ich nicht
mehr einen Kreis zeichnen bzw. ein Viereck. Kreis sieht aus wie ein Ei
und es fehlen Pixel und beim Viereck
geht mal ein Strich ab??

Bitte um Hilfe !
Autor: Mike (Gast)
Datum:

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net