{"id":391,"date":"2017-11-24T21:59:27","date_gmt":"2017-11-24T20:59:27","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=391"},"modified":"2019-08-19T22:47:28","modified_gmt":"2019-08-19T20:47:28","slug":"36-vga_graphic-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/36-vga_graphic-library-stm32f4\/","title":{"rendered":"36-VGA_Graphic-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/35-vga_screen-library-stm32f4\/\" title=\"35-VGA_Screen-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 35-VGA_Screen-Library (STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/37-vga_font-library-stm32f4\/\" title=\"37-VGA_Font-Library (STM32F4)\">37-VGA_Font-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Diese Library dient zum zeichnen von Punkten, Linien und Kreisen auf dem VGA-Monitor.<br \/>\nEs k\u00f6nnen auch im Flash gespeicherte Bilder auf den Screen gezeichnet werden.<\/p>\n<p>Sie ben\u00f6tigt dazu die VGA-Library \u201cSTM32_UB_VGA_SCREEN\u2033<\/p>\n<p>Im Moment wird nur 1 Bildformat unterst\u00fctzt :<br \/>\n1. = 8Bit (RGB332) \u2013 Image-Files<\/p>\n<p>F\u00fcr das Format Nr. 1 habe ich das PC-Programm \u201c<a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=140#P02\">ImageGenerator<\/a>\u201d geschrieben. Das wandelt beliebige BMP-Files in das RGB332-Format um und erzeugt ein C-File, das in der CooCox-IDE eingebunden werden kann.<\/p>\n<p><strong>Beispielvideo :\u00a0<\/strong>(nicht von mir <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<p><a href=\"http:\/\/www.youtube.com\/watch?v=axJRn_WZFY0\">LINK zu Youtube<\/a><\/p>\n<p><strong>Beispielbild :<\/strong><\/p>\n<div id=\"attachment_1411\" class=\"wp-caption alignnone\" style=\"width: 310px;\">\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/04\/vga_emo2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1411\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/04\/vga_emo2-300x179.jpg\" alt=\"Testbild mit 320x240 Pixel\" width=\"300\" height=\"179\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Testbild mit 320\u00d7240 Pixel<\/p>\n<\/div>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : keine\r\nBenutzte Librarys : STM32_UB_VGA_SCREEN<\/pre>\n<p><strong>Enumerationen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef enum {\r\n  VGA_GRAPHIC_OK =0,\r\n  VGA_GRAPHIC_WIDTH_ERR,\r\n  VGA_GRAPHIC_HEIGHT_ERR\r\n}VGA_GRAPHIC_ERR_t;<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void UB_VGA_Graphic_DrawPixel(int16_t xpos, int16_t ypos, uint8_t color);                     \/\/ zeichnet einen Pixel\r\nvoid 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\r\nvoid 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\r\nVGA_GRAPHIC_ERR_t UB_VGA_Graphic_DrawImage(UB_VGA_Image *img, int16_t xpos, int16_t ypos);    \/\/ zeichnet ein Image aus dem Flash<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 27.04.2013\r\n\/\/ Version  : 1.0\r\n\/\/ Autor    : UB\r\n\/\/ EMail    : mc-4u(@)t-online.de\r\n\/\/ Web      : www.mikrocontroller-4u.de\r\n\/\/ CPU      : STM32F4\r\n\/\/ IDE      : CooCox CoIDE 1.7.0\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der VGA-Graphic-Library\r\n\/\/ Hinweis  : Diese zwei Files muessen auf 8MHz stehen\r\n\/\/              \"cmsis_boot\/stm32f4xx.h\"\r\n\/\/              \"cmsis_boot\/system_stm32f4xx.c\"\r\n\/\/--------------------------------------------------------------\r\n\r\n#include \"main.h\"\r\n#include \"stm32_ub_vga_graphic.h\"\r\n\r\nint main(void)\r\n{\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  UB_VGA_Screen_Init(); \/\/ Init vom Screen\r\n\r\n  \/\/ LCD mit blau l\u00f6schen\r\n  UB_VGA_FillScreen(VGA_COL_BLUE);\r\n\r\n  \/\/ Ein Image (aus dem Flash) Zeichnen\r\n  UB_VGA_Graphic_DrawImage(&amp;Emo1_VGA_Image,0,0);\r\n\r\n  \/\/ rote Linie zeichnen\r\n  UB_VGA_Graphic_DrawLine(10,20,100,150,VGA_COL_RED);\r\n\r\n  \/\/ schwarzen kreis zeichnen\r\n  UB_VGA_Graphic_DrawCircle(70,75,50,VGA_COL_BLACK);\r\n\r\n  while(1)\r\n  {\r\n\r\n  }\r\n}\r\n<\/pre>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/04\/ub_stm32f4_vga_graphic_v100.zip\">ub_stm32f4_vga_graphic_v100<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/04\/Demo_36_VGA2.zip\">Demo_36_VGA2<\/a><\/p>\n<p>Hier der Link zu dem PC-Programm :<\/p>\n<p><a title=\"PC-Programme von mir\" href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=140\">PC-Programme<\/a><\/p>\n<h3 id=\"comments-title\">2 Antworten auf <em>36-VGA_Graphic-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-738\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-738\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/9551c58efde4a663b49f64cf3a11e4fe?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">ANDREJ<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">30. August 2013 um 19:41<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo !<\/p>\n<p>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<\/p>\n<p>Danke fuer antwort<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-741\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-741\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">31. August 2013 um 09:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Das Bild muss mit dem ImageGenerator.exe in ein \u201cRGB332\u2033 gewandelt werden. Dazu (vor dem umwandeln) auf der rechten Seite das Output-Color-Format auf \u201cVGA-Version\u201d einstellen !<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Diese Library dient zum zeichnen von Punkten, Linien und Kreisen auf dem VGA-Monitor. Es k\u00f6nnen auch im Flash gespeicherte Bilder auf den Screen gezeichnet werden. Sie ben\u00f6tigt dazu die VGA-Library \u201cSTM32_UB_VGA_SCREEN\u2033 Im Moment wird nur 1 Bildformat unterst\u00fctzt : 1. &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f4\/komplette-library-liste-stm32f4\/36-vga_graphic-library-stm32f4\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":36,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[9,7,97],"class_list":["post-391","page","type-page","status-publish","hentry","category-stm32f4","tag-library","tag-stm32f4","tag-vga"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=391"}],"version-history":[{"count":7,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/391\/revisions"}],"predecessor-version":[{"id":2640,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/391\/revisions\/2640"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}