MSP430 und ST7565R

Gast #4220676
Lesenswert?
• ▲
▼
Hi,

ich habe einem MSP430 ein 4 Zeiliges Display angesteuert (65x132dot 
display, ST7565R) . Ich kann auch ohne Probleme Text auf den 4 Zeilen 
ausgeben.
Wie kann ich aber die Schriftgröße ändern? Ich möchte eine Schrift mit 
doppelter Höhe verwenden (8x16), so das ich dann auch nur noch zwei 
Zeilen zur Verfügung habe. Eine entsprechende Schriftart habe ich 
bereits veruscht zu verwenden. Diese wird jedoch immer noch in der 
gleichen Höhe und über 4 Zeilen dargestell.
Hat hier jemand ein Beispiel?

mfg
Andy
Persönliche Seite #4220705
Lesenswert?
• ▲
▼
Das ist ein Vollgraphikdisplay, das bedeutet, daß alles, was es anzeigt, 
in Deiner Hand liegt. Es gibt keinen eingebauten Zeichengenerator, jede 
Zeichenausgabe ist ein Übertragen einer Bitmap aus Deinem Programm in 
den Graphikspeicher des Displaycontrollers.

Dein Code, den Du uns nicht zeigst, muss entsprechend angepasst werden, 
wenn die Bitmaps größer werden.
Gast #4220754
Lesenswert?
• ▲
▼
Hi,
danke für die schnelle Antwort.
Zum senden verwende ich folgenden Code:
Das ganze wollte ich für einen Schriftgröße 8x16 verwenden, komme da 
aber nicht weiter.

...
#define LCDPORT_CONTROL  P2OUT
...

void printc(unsigned char r)
{
  char i;
  unsigned char cZeichen;

  for ( i = 0; i < 7; i++ ){

    cZeichen = font5x8[r - 32][i];

    sendData(cZeichen);

  }


}
// **************************************

void sendData(unsigned char data)
{
  LCDPORT_CONTROL &=~ CS;
  LCDPORT_CONTROL |=A0;

  doSPI(data);

  LCDPORT_CONTROL |= CS;

}
Gast #4220802
Lesenswert?
• ▲
▼
Ok, sorry.
Damit ich meinen Code nicht im ganzen Programm ändern muss, habe ich den 
Namen testweise beibehalten.

const unsigned char font5x8[][16] =
{
    { 0x00, 0xF8, 0x0C, 0x0C, 0x0C, 0x0C, 0xF8, 0x00, 0x00, 0x3F, 0x03, 
0x03, 0x03, 0x03, 0x3F, 0x00},
    { 0x00, 0xF8, 0x0C, 0x0C, 0x0C, 0x0C, 0xF8, 0x00, 0x00, 0x3F, 0x03, 
0x03, 0x03, 0x03, 0x3F, 0x00}

};
Persönliche Seite #4220816
Lesenswert?
• ▲
▼
Andy schrieb:
> 0x00, 0xF8, 0x0C, 0x0C, 0x0C, 0x0C, 0xF8, 0x00, 0x00, 0x3F, 0x03, 0x03,
> 0x03, 0x03, 0x3F, 0x00

Und was soll das für ein Zeichen werden?

1
00000000
2
11111000
3
00001100
4
00001100
5
00001100
6
00001100
7
11111000
8
00000000
9
00000000
10
00111111
11
00000011
12
00000011
13
00000011
14
00000011
15
00111111
16
00000000


Und das schreibst Du einfach mit 16 Byte-Schreibzugriffen in den 
Graphikspeicher?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.