Forum: Mikrocontroller und Digitale Elektronik (Dieser Beitrag wurde geloescht)


von (geloescht) (Gast)


Lesenswert?

(Dieser Beitrag wurde geloescht)

von Ale (Gast)


Lesenswert?

Du kannst auf flash/rom ein 5x7 font, aber du schreibst doppelte pixels 
:

auf flash:
00001000
00010100
00100010
00111110
00100010
00000000

auf display:

0000000011000000
0000000011000000
0000001100110000
0000001100110000
0000110000001100
0000110000001100
0000111111111100
0000111111111100
0000110000001100
0000110000001100
0000000000000000
0000000000000000

Es ist ein möglichkeit.

Auf SRAM du kannst "Kommandos" speichern:

Schreib "Hallo Welt" auf 1,1
Schreib "Fertig!" auf 12,1

etc...

Mit einem "Smooth" Routine, du kannst die "doppelte" methode verbessern.

hoffe es hilf

Ale

von Dirk H. (arm-dran)


Lesenswert?

Hallo Guido,

1. Was heißt, er hat nur 1K RAM.

Die Pixelfonttabelle ist doch im Flash. Wieviel hast du Flash.

2. Willst Du einfach nur Text darstellen, oder auch Fenster bzw. 
Überlappungen erzeugen.

Die Speicherbelegung bei solchen Displays sind meist Vertikal.
Das heißt, das erste Byte = Bit7 = Pixel 0,0 (Zeile,Spalte)
und Bit 0 = Zeile 7 Spalte 0.
Daher 102 Byte in der Breite x 4 Byte in der Höhe

von (geloescht) (Gast)


Lesenswert?

(Dieser Beitrag wurde geloescht)

von Dirk H. (arm-dran)


Lesenswert?

Hallo Guido,

das Display wird über SPI angesteuert?
Machst Du da ne seriell Porterweiterung oder hat das Disp. von Haus aus 
SPI?

Das mit dem Font würde ich mir hier so auch nich antun.
Wenn die Anordnung so wie geschrieben ist (102 x 4 Bytes) würde ich in 
dem Fall keine 10x6 Pixel nehmen.
Du müsstest ja dann individuell für jede Byte-Zeile den Tabellenfont 
verschieben müssen.

Standard ist doch 5x7 = 6x8 (mit Spacer) = 6 Byte x 1

oder

10 x 14 = 12x16 (2bit Spacer bei der Größe) = 12 Byte x 2

könntest dann halt 8,5 Zeichen in der breite x 4 Zeilen

dafür hab ich sogar nen fertigen Font da, aber nur für den ASCII Bereich
20hex - 7Fhex ( Zeichen 32-127)

von Dirk H. (arm-dran)


Lesenswert?

Sorry,

hab grad gesehen, daß es 102 x 64 sind also 102 x 8 Byte

von (geloescht) (Gast)


Lesenswert?

(Dieser Beitrag wurde geloescht)

von Dirk H. (arm-dran)


Lesenswert?

Na wir bearbeiten ja grad 2 Threads auf einmal,

das einzigste, was dir hier übrig bleibt ist, als den ASCII Code zu 
speichern und beim Zeichen in der nächsten Zeile immer den ASCII Code 
oben drüber mit einbeziehen.

Oder wenn es geht den ASCII_code im RAM halten
und wenn es übers SPI Schreibmäßig geht, immer die Zeichen erst vertikal
schreiben.
Aber Egal wie, ist ein ziemlicher Aufwand, da sich die Positionen 
asynchron verschieben

von (geloescht) (Gast)


Lesenswert?

(Dieser Beitrag wurde geloescht)

von Dirk H. (arm-dran)


Lesenswert?

Ja, nur bezieht sich dir Startline, auf den Punkt ab dem das Display 
ausgiebt und nicht wo du schreibst.
Bringt also für die Speicherverwaltung nichts.
Man kann vertikal nicht bitweise = zeilenweise schreiben

von (geloescht) (Gast)


Lesenswert?

(Dieser Beitrag wurde geloescht)

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.