PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafik-LCD-Display - C->BASCOM



MichaelH
31.12.2010, 19:26
Hallo,



Ich hab hier ein Grafik-Display mit der Bezeichnung MI0283QT-2 (http://www.watterott.com/de/MI0283QT-2-Adapter). Es arbeitet mit dem HX8347D (http://www.mikrocontroller.net/attachment/64474/HX8347-D_DS_T_v02_090324.pdf)-Controller.

Zum Ansteuern wird (bis jetzt) ein ATMega8 verwendet.

Für das Display gibt es einen Beispiel-Quelltext in C (*klick* (http://www.watterott.net/misc/MI0283QT-2.c)). Da ich aber in C nicht wirklich gut auskenne und lieber mit BASCOM weiterarbeiten möchte, hab ich probiert den Quelltext nach BASCOM zu übersetzen (siehe Anhang).

Kompilieren lässt sich der Quelltext problemlos. Aber wenn ich alles anschließe und das Programm teste, passiert nichts weiter (außer, dass logischerweise die LED angeht) -> Das ganze Display ist dann weiß. Ich hab die Pinbelegung auf der Displayseite von hier (http://www.watterott.net/mi0283qt2/mi0283qt-2_arduino-mega.jpg) übernommen.

Wäre schön, wenn sich jemand die Mühe macht und den Quelltext mal anschaut, woran das liegen kann.



Gruß
Michael

peterfido
01.01.2011, 11:02
Hast Du schon Hardware SPI probiert?

Evlt. mal einen andere Mode probieren.

Ce = 1

Ce = 0

Dazwischen eine kleine Pause einbauen.

MichaelH
01.01.2011, 14:50
Hallo,


Danke für deine Antwort.


Nein, Hardware-SPI hab ich noch nicht ausprobiert, da die entsprechenden Pins an meinem Testboard nicht herausgeführt sind.

Welche Modi meinst du?

Die Pause hab ich eingebaut, hat sich aber leider nix verändert.

Am Display kommt auf jeden Fall der Takt und irgendwelche Daten an.


Gruß
Michael

stefan_Z
01.01.2011, 16:06
"A constant in the range from 0-3 which defines the SPI MODE.
Without MODE, the default mode 1 will be used.
Also, when using MODE, new SPI code will be used.
When using MODE, you can also specify SPEED and SETUP"

Damit kannste festlegen, Ob du MSB/LSB nutzen willst und auf welcher Flanke gelesen wird.

MichaelH
02.01.2011, 01:53
Hallo,



ich habs nun hin bekommen, das Display läuft!

Es lag nicht am Modus. Ich hatte noch diverse kleinere Fehler drin:
-1 Tippfehler
-I bei Lcd_clear() muss ein Long sein
-Bei der Cursor-Funktion muss noch eins hinzuaddiert werden (war aber dann im Original auch falsch...)
und noch ganz wichtig:
-Der von Bascom vorgegebene SW-, HW-Stack und die Framesize mussten erhöht werden (woher weiß man eigentlich genau, welche Werte man da braucht???) -> danach hat das Display zumindest schon was ausgegeben.

Jetzt muss ich mich nur mal in den nächsten Tagen an Funktionen für geometrische Formen und für Text machen...

Im Anhang hab ich den aktualisierten Quelltext.


Nochmals vielen Dank für die Hilfe.



Gruß
Michael

Thomas Riesen
10.08.2012, 16:55
Hallo Michael

Habe mir auch so ein Display mit dem Controller gekauft, es hat noch Touch und einen SD-Card Slot.
Die SPI-Pin's finde ich auf der Beschreibung meines Displays nirgends. Sind diese Pin's ev. mit Daten-Pin's
identisch?

http://www.ebay.ch/itm/270954281581?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Nehme ja mal an, dass der Controller den SPI-Bus unterstützt, demnach sollte die technische Ausführung
des Displays keine Rolle spielen.

Vielen Dank schon mal!!

Grüsse aus der Schweiz
Thomas