Beschreibung :
Mit dieser Library können Zeichen und Text Funktionen auf dem STM32F746 Discovery-Board benutzt werden.
Module :
1 | stm32_ub_font.h, stm32_ub_font.c |
Includes :
1 | #include "stm32_ub_system.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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | //-------------------------------------------------------------- // Struktur von einem monospaced Font (max 16 Pixel Breite) //-------------------------------------------------------------- typedef struct UB_Font_t { const uint16_t *table; // Tabelle mit den Daten uint16_t width; // Breite eines Zeichens (in Pixel) uint16_t height; // Hoehe eines Zeichens (in Pixel) }UB_Font; //-------------------------------------------------------------- // Struktur von einem monospaced Font (max 32 Pixel Breite) //-------------------------------------------------------------- typedef struct UB_Font32_t { const uint32_t *table; // Tabelle mit den Daten uint16_t width; // Breite eines Zeichens (in Pixel) uint16_t height; // Hoehe eines Zeichens (in Pixel) }UB_Font32; //-------------------------------------------------------------- // Struktur von einem proportional Font (max 16 Pixel Breite) //-------------------------------------------------------------- typedef struct UB_pFont_t { const uint16_t *table; // Tabelle mit den Daten uint16_t height; // Hoehe eines Zeichens (in Pixel) uint16_t first_char; // erstes Zeichen (Ascii-Nr) uint16_t last_char; // letztes Zeichen (Ascii-Nr) }UB_pFont; //-------------------------------------------------------------- // Struktur von einem proportional Font (max 32 Pixel Breite) //-------------------------------------------------------------- typedef struct UB_pFont32_t { const uint32_t *table; // Tabelle mit den Daten uint16_t height; // Hoehe eines Zeichens (in Pixel) uint16_t first_char; // erstes Zeichen (Ascii-Nr) uint16_t last_char; // letztes Zeichen (Ascii-Nr) }UB_pFont32; //-------------------------------------------------------------- // Aktivierung der verschiedenen Fonts // (unbenutzte einfach auskommentieren) // fuer alle benutzten Fonts muss das entsprechende C-File // in der CooCox-IDE hinzugefügt werden //-------------------------------------------------------------- // monospaced extern UB_Font Arial_7x10; extern UB_Font Arial_8x13; extern UB_Font Arial_10x15; extern UB_Font Arial_11x18; extern UB_Font Arial_13x19; extern UB_Font Arial_14x22; extern UB_Font Arial_16x25; extern UB_Font32 Arial_18x27; // proportional extern UB_pFont pArial_10; extern UB_pFont pArial_13; extern UB_pFont pArial_16; extern UB_pFont pComic_12; extern UB_pFont pComic_16; extern UB_pFont pTimes_12; extern UB_pFont pTimes_15; extern UB_pFont32 pArial_21; extern UB_pFont32 pComic_19; extern UB_pFont32 pTimes_18; |
Funktionen :
1 2 3 4 5 6 7 8 | void UB_Font_DrawChar(uint16_t x, uint16_t y, uint8_t ascii, UB_Font *font, uint16_t vg, uint16_t bg); void UB_Font_DrawString(uint16_t x, uint16_t y,char *ptr, UB_Font *font, uint16_t vg, uint16_t bg); void UB_Font_DrawChar32(uint16_t x, uint16_t y, uint8_t ascii, UB_Font32 *font, uint16_t vg, uint16_t bg); void UB_Font_DrawString32(uint16_t x, uint16_t y,char *ptr, UB_Font32 *font, uint16_t vg, uint16_t bg); uint16_t UB_Font_DrawPChar(uint16_t x, uint16_t y, uint8_t ascii, UB_pFont *font, uint16_t vg, uint16_t bg); void UB_Font_DrawPString(uint16_t x, uint16_t y,char *ptr, UB_pFont *font, uint16_t vg, uint16_t bg); uint16_t UB_Font_DrawPChar32(uint16_t x, uint16_t y, uint8_t ascii, UB_pFont32 *font, uint16_t vg, uint16_t bg); void UB_Font_DrawPString32(uint16_t x, uint16_t y,char *ptr, UB_pFont32 *font, uint16_t vg, uint16_t bg); |
Beispiel :
Siehe: 01-F746-Demo LED, Button, LCD, Text und Grafik
Hier die Library zum Download :
05 = FONT : f746_font_v100