Forum: Compiler & IDEs T6963C Bild um die hälfte verschoben


von Andreas G. (andy1988)


Lesenswert?

Hallo,

Ich habe grade eben mal ein T6963C Display an mein STK500 gepinnt und 
wollte es mit dieser Lib hier testen:
Beitrag ""Bessere" T6963c Library"

Ich hab also die die ganzen Ports in der Header Datei angepasst und 
versucht die entsprechenden Daten für mein 128x64 Pixel großes Display 
einzutragen.
Das ganze Teil funktioniert wunderbar im Textmodus. Ich kann ohne 
Probleme das ganze Display mit Text vollschreiben. Auch mit eigenen 
Fonts.

Das Problem ist jetzt, wenn ich da ein 128x64 Pixel großes Bild anzeigen 
möchte. Dieses Bild ist ca. um 64 Pixel in der Breite nach links 
verschoben. Da, wo dann die 64 Pixel links übrig ist, befindet sich 
wieder das Bild zur hälfte. Zudem ist das Ding invertiert.

Ich habe jetzt 2 Vermutungen, wieso:
1) Da sind irgendwie immernoch falsche Adressen eingetragen für mein 
Display. Im Datenblatt kann ich da allerdings auch nicht viel drüber 
finden.
2) Das Bild, was cih nutze habe ich falsch konvertiert:
Als erstes ein 128x64 Pixel großes Bild mit Paint als monochrom Bitmap 
abgespeichert, dann mit Ulrig Radigs WinBin Tool konvertiert und dann so 
lange Bytes am Anfang weggeschnitten, bis es 128*64/8 Bytes groß war. 
Somit müsste der Header ja weg sein und nur noch Bilddaten vorhanden 
sein.

Jemand ne Idee, was da nicht funktionieren könnte?
Bedankt,
Andreas


Header:
1
//Pinout
2
#define T6963C_PORT_DATA         PORTC  //Dataport
3
#define  T6963C_DDR_DATA          DDRC
4
#define T6963C_PIN_DATA          PINC
5
6
#define T6963C_PORT_CTRL        PORTB  //Controlport (RW, RD, CE, RST, CD)
7
#define T6963C_DDR_CTRL          DDRB
8
#define T6963C_PIN_CTRL          PINB
9
10
#define T6963C_WR            PB0    //Controlbits
11
#define T6963C_RD            PB1
12
#define T6963C_CE            PB2
13
#define T6963C_RST            PB4
14
#define T6963C_CD            PB3
15
16
//Physical Description
17
#define T6963C_ADDR_CGRAML        0x1800  //Lower half of CG (Chars 00-7F)
18
#define T6963C_ADDR_CGRAMH        T6963C_ADDR_CGRAML + 0x80*8  //Higher half of CG (Chars 80-FF)
19
#define T6963C_ADDR_GRAPHIC        0x0400
20
#define T6963C_ADDR_TEXT        0x0000
21
#define T6963C_TEXT_COLS        21    //21 bytes for 6x8 Font
22
#define T6963C_TEXT_ROWS        8
23
#define T6963C_GRPH_COLS        16    //16 bytes = 128 bits = 128 px
24
#define T6963C_GRPH_ROWS        64
25
26
//Options Defines for Init()
27
#define T6963C_MODE_OR          0x00
28
#define T6963C_MODE_XOR          0x01
29
#define T6963C_MODE_AND          0x03
30
#define T6963C_MODE_TEXTATTR      0x04
31
#define T6963C_CG_INTERNALROM      0x00
32
#define T6963C_CG_EXTERNALRAM      0x04
33
34
//Mode Defines for Init()
35
#define T6963C_DISP_OFF          0x00
36
#define T6963C_CURSOR          0x02
37
#define T6963C_CURSOR_BLINK        0x03
38
#define T6963C_TEXT            0x04
39
#define T6963C_GRAPHIC          0x08
40
#define T6963C_TEXT_GRAPHIC        0x0C

von Andreas G. (andy1988)


Lesenswert?

edit:
Hmmm,
das geht wohl doch nich so prall mit dem Text :D
Unten rechts in der Ecke steht teilweise ein wenig Trash. Dann wird der 
Text, wenn er zu lang für eine Zeile ist zwar umgebrochen, aber das 
erste Zeichen von der nächsten Zeile + ein-zwei Spalten Schrott stehen 
noch rechts neben der ersten Zeile.

Aso und das Bitmap ist auf dem Kopf...
Wobei das wahrscheinlich irgendwie mit dem Bitmap selber zusammenhängt. 
Ich hab mich sowieso schon immer gewundert, dass sich son Bitmap im 
Browser immer von unten nach oben aufbaut. Wieso, hab ich bisher noch 
nicht nachgeschaut. Ich wüsste ausnahmsweise auch mal nicht, wonach ich 
suchen sollte. Anyone?

PS:
Bearbeiten darf ich nicht mehr...

nochmal edit:
Der Trash rechts unten scheint was mit dem RAM zu tun zu haben. Nach 
erneutem ein- und ausschalten, ändert der sich nämlich.

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.