76-LCD_N95_8GB-Library (STM32F4)

Diese Library dient zum ansteuern des Grafik LC-Displays vom Nokia-Handy “N95-8GB” mit dem LDS285-Chip. (240 x 320 Pixel und 24bit Farbe)

Das Display gibt’s bei Ebay für ca. 8 EUR. Nur muss wegen dem 24pol. Folien-Stecker ein Adapter gebaut/gekauft werden um es an das Evaluation-Board anschließen zu können.
(Danke, an dieser Stelle an “Joerg” für das Display)

Das Display wird über den External-Memory-Contoller “FSMC” verwaltet und muss dementsprechend mit der CPU verbunden werden (siehe Pinbelegung in der Library)

Mit der Library kann das Display initialisiert werden und es ist auch eine Funktion zum zeichnen eines Punktes mit einer beliebigen Farbe enthalten.

Alle anderen Funktionen (Linien, Kreise, Texte, Bilder) müsst ihr leider selber schreiben.
(das Display ist wegen der 24bit Farbe nicht kompatibel zu meinen restlichen Librarys)

Bild :

n95

Benutzte Pins :

1
2
3
4
5
6
7
8
PB0  -> LCD_RESET (16)      PE3  -> LCD_RS  (21)
PD0  -> LCD_DB2   (7)       PE7  -> LCD_DB4 (6)
PD1  -> LCD_DB3   (18)      PE8  -> LCD_DB5 (19)
PD4  -> LCD_RD    (22)      PE9  -> LCD_DB6 (5)
PD5  -> LCD_WR    (3)       PE10 -> LCD_DB7 (20)
PD7  -> LCD_CS    (4)       
PD14 -> LCD_DB0   (8) 
PD15 -> LCD_DB1   (17)

Voraussetzungen :

1
2
Benutzte Module der CooCox-IDE : GPIO,FSMC
Benutzte Librarys : keine

Standard Farben :

1
2
3
4
5
6
7
8
9
10
11
#define  RGB_COL_BLACK          0x000000
#define  RGB_COL_BLUE           0x0000FF
#define  RGB_COL_GREEN          0x00FF00
#define  RGB_COL_RED            0xFF0000
#define  RGB_COL_WHITE          0xFFFFFF
 
#define  RGB_COL_CYAN           0x00FFFF
#define  RGB_COL_MAGENTA        0xFF00FF
#define  RGB_COL_YELLOW         0xFFFF00
 
#define  RGB_COL_GREY           0xCCCCCC

Funktionen :

1
2
3
ErrorStatus UB_LCD_Init(void);                                                         // zum init vom Display
void UB_LCD_FillScreen(uint32_t color);                                                // loescht den Screen mit einer Farbe
void UB_LCD_DrawPixel(int16_t xpos, int16_t ypos, uint32_t color);                     // zeichnet ein Pixel an X,Y-Koordinate

Beispiel :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//--------------------------------------------------------------
// File     : main.c
// Datum    : 13.02.2014
// Version  : 1.0
// Autor    : UB
// EMail    : mc-4u(@)t-online.de
// Web      : www.mikrocontroller-4u.de
// CPU      : STM32F4
// IDE      : CooCox CoIDE 1.7.4
// GCC      : 4.7 2012q4
// Module   : CMSIS_BOOT, M4_CMSIS_CORE
// Funktion : Demo der N95_8GB-Library
// Hinweis  : Diese zwei Files muessen auf 8MHz stehen
//              "cmsis_boot/stm32f4xx.h"
//              "cmsis_boot/system_stm32f4xx.c"
//--------------------------------------------------------------
 
#include "main.h"
#include "stm32_ub_lcd_n95_8gb.h"
 
int main(void)
{
  uint16_t x,y;
 
  SystemInit(); // Quarz Einstellungen aktivieren
 
  // init vom Display
  if(UB_LCD_Init()==SUCCESS) {
    // wenn Display-ID ok
 
	// Screen mit gruen füllen
    UB_LCD_FillScreen(RGB_COL_GREEN);
 
    // rote Linie zeichnen
    for(x=50;x<150;x++) {
      UB_LCD_DrawPixel(x,10,RGB_COL_RED);
    }
 
    // blaue Linie zeichnen
    for(y=50;y<150;y++) {
      UB_LCD_DrawPixel(10,y,RGB_COL_BLUE);
    }
 
    // BOX zeichnen
    for(y=50;y<150;y++) {
      for(x=50;x<150;x++) {
        UB_LCD_DrawPixel(x,y,RGB_COL_MAGENTA);
      }
    }
  }
 
  while(1)
  {
 
  }
}

Hier die Library zum Download :

ub_stm32f4_lcd_N95_8GB_v100

Hier der komplette CooCox-Projektordner zum Download :

Demo_76_N95_8GB


3 Antworten auf 76-LCD_N95_8GB-Library (STM32F4)

  1. Joerg B. sagt:

    Falls jemand Interesse hat, ich habe noch ein paar Displays und Adapter Platinen liegen.

  2. Tom sagt:

    Ja, bei mir würde Interesse bestehen. Sie könnten sich meine Email von Uwe besorgen (damit ich sie nicht öffentlich posten muss) und mir die Kosten mitteilen. Vielen Dank schon einmal!

  3. Maik sagt:

    Gibt auch eine weitere Code Version sowohl für STM als auch Avr und informativen zur Anbindung bzw Adapter unter : http://www.mikrocontroller.net/topic/320791#new


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert