Diese Library dient zum zeichnen von Punkten, Linien und Kreisen auf dem VGA-Monitor.
Es können auch im Flash gespeicherte Bilder auf den Screen gezeichnet werden.
Sie benötigt dazu die VGA-Library “STM32_UB_VGA_SCREEN″
Im Moment wird nur 1 Bildformat unterstützt :
1. = 8Bit (RGB332) – Image-Files
Für das Format Nr. 1 habe ich das PC-Programm “ImageGenerator” geschrieben. Das wandelt beliebige BMP-Files in das RGB332-Format um und erzeugt ein C-File, das in der CooCox-IDE eingebunden werden kann.
Beispielvideo : (nicht von mir
Beispielbild :
Voraussetzungen :
1 2 | Benutzte Module der CooCox-IDE : keine Benutzte Librarys : STM32_UB_VGA_SCREEN |
Enumerationen :
1 2 3 4 5 | typedef enum { VGA_GRAPHIC_OK =0, VGA_GRAPHIC_WIDTH_ERR, VGA_GRAPHIC_HEIGHT_ERR }VGA_GRAPHIC_ERR_t; |
Funktionen :
1 2 3 4 | void UB_VGA_Graphic_DrawPixel(int16_t xpos, int16_t ypos, uint8_t color); // zeichnet einen Pixel void UB_VGA_Graphic_DrawLine(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color); // zeichnet eine Linie zwischen zwei Punkten void UB_VGA_Graphic_DrawCircle(int16_t x0, int16_t y0, int16_t radius, uint8_t color); // zeichnet einen Kreis an Punkt x,y mit Radius r VGA_GRAPHIC_ERR_t UB_VGA_Graphic_DrawImage(UB_VGA_Image *img, int16_t xpos, int16_t ypos); // zeichnet ein Image aus dem Flash |
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 | //-------------------------------------------------------------- // File : main.c // Datum : 27.04.2013 // Version : 1.0 // Autor : UB // EMail : mc-4u(@)t-online.de // Web : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.0 // Module : CMSIS_BOOT, M4_CMSIS_CORE // Funktion : Demo der VGA-Graphic-Library // Hinweis : Diese zwei Files muessen auf 8MHz stehen // "cmsis_boot/stm32f4xx.h" // "cmsis_boot/system_stm32f4xx.c" //-------------------------------------------------------------- #include "main.h" #include "stm32_ub_vga_graphic.h" int main(void) { SystemInit(); // Quarz Einstellungen aktivieren UB_VGA_Screen_Init(); // Init vom Screen // LCD mit blau löschen UB_VGA_FillScreen(VGA_COL_BLUE); // Ein Image (aus dem Flash) Zeichnen UB_VGA_Graphic_DrawImage(&Emo1_VGA_Image,0,0); // rote Linie zeichnen UB_VGA_Graphic_DrawLine(10,20,100,150,VGA_COL_RED); // schwarzen kreis zeichnen UB_VGA_Graphic_DrawCircle(70,75,50,VGA_COL_BLACK); while(1) { } } |
Hier die Library zum Download :
Hier der komplette CooCox-Projektordner zum Download :
Hier der Link zu dem PC-Programm :
Hallo !
Wie kann ich neu bild laden auf code demo 36 vga? Habe scho probiert mit copie in bild mape aber compilation get nicht meher dan. Error: [cc] C:\Documents and Settings\rfg\My Documents\Prenosi\Demo_36_VGA2(1)\Demo_36_VGA2\ub_lib\bilder\Emo2_VGA_Image.c:11:34: fatal error: ..\stm32_ub_ graphic.h: No such file or directory
Danke fuer antwort
Das Bild muss mit dem ImageGenerator.exe in ein “RGB332″ gewandelt werden. Dazu (vor dem umwandeln) auf der rechten Seite das Output-Color-Format auf “VGA-Version” einstellen !