Beschreibung :
Mit dieser Library können 2D-Grafik Funktionen auf dem STM32F746 Discovery-Board benutzt werden.
Module :
1 | stm32_ub_graphic2d.h, stm32_ub_graphic2d.c |
Includes :
1 2 | #include "stm32_ub_system.h" #include "stm32_ub_lcd_480x272.h" |
Strukturen :
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 | typedef enum { LCD_DIR_HORIZONTAL =0, LCD_DIR_VERTICAL }LCD_DIR_t; //-------------------------------------------------------------- // Struktur von einem Image //-------------------------------------------------------------- typedef struct UB_Image_t { const uint16_t *table; // Tabelle mit den Daten uint16_t width; // Breite des Bildes (in Pixel) uint16_t height; // Hoehe des Bildes (in Pixel) }UB_Image; //-------------------------------------------------------------- // Einbinden der benutzen Bilder // fuer alle Bilder muss das entsprechende File // auch in der CooCox-IDE hinzugefügt werden //-------------------------------------------------------------- extern UB_Image Emo2_Image; //-------------------------------------------------------------- // Struktur von einer Kopie-Koordinate //-------------------------------------------------------------- typedef struct DMA2D_Koord_t { uint32_t source_xp; // Quelle X-Start uint32_t source_yp; // Quelle Y-Start uint32_t source_w; // Quelle Breite uint32_t source_h; // Quelle Höhe uint32_t dest_xp; // Ziel X-Start uint32_t dest_yp; // Ziel Y-Start }DMA2D_Koord; |
Funktionen :
1 2 3 4 5 6 7 8 9 | void UB_Graphic2D_ClearSreenDMA(uint16_t c); void UB_Graphic2D_DrawPixelNormal(uint16_t xp, uint16_t yp, uint16_t c); void UB_Graphic2D_DrawLineNormal(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color); void UB_Graphic2D_DrawStraightDMA(uint16_t xp, uint16_t yp, uint16_t l, LCD_DIR_t d, uint16_t c); void UB_Graphic2D_DrawRectDMA(uint16_t xp, uint16_t yp, uint16_t w, uint16_t h, uint16_t c); void UB_Graphic2D_DrawFullRectDMA(uint16_t xp, uint16_t yp, uint16_t w, uint16_t h, uint16_t c); void UB_Graphic2D_DrawCircleNormal(uint16_t xp, uint16_t yp, uint16_t r, uint16_t c); void UB_Graphic2D_DrawFullCircleDMA(uint16_t xp, uint16_t yp, uint16_t r, uint16_t c); void UB_Graphic2D_CopyImgDMA(UB_Image *img, DMA2D_Koord koord); |
Beispiel :
Siehe: 01-F746-Demo LED, Button, LCD, Text und Grafik
Hier die Library zum Download :
06 = Graphic_2D : f746_graphic2d_v101