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 :
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 :
Hier der komplette CooCox-Projektordner zum Download :
Falls jemand Interesse hat, ich habe noch ein paar Displays und Adapter Platinen liegen.
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!
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