{"id":466,"date":"2017-11-24T23:46:40","date_gmt":"2017-11-24T22:46:40","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=466"},"modified":"2017-12-30T19:38:30","modified_gmt":"2017-12-30T18:38:30","slug":"67-lcd_ili9341_spi-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=466","title":{"rendered":"67-LCD_ILI9341_SPI-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=464\" title=\"66-SPI_HD-TM1638-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 66-SPI_HD-TM1638-Library (STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=468\" title=\"68-RN42-Library (STM32F4)\">68-RN42-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>diese Library dient zum ansteuern eines Grafik LC-Displays mit einem ILI9341-Chip.<br \/>\n(240 x 320 Pixel und 16bit Farbe)<\/p>\n<p>das Display wird per SPI angesteuert (aus dem Grund wird auch noch die SPI-Library ben\u00f6tigt)<\/p>\n<p>in der Library ist das l\u00f6schen vom Bildschirm und das setzen von Punkten, zeichnen von Linien und Kreisen dabei.<\/p>\n<p>weil das ganze nur \u00fcber SPI angesteuert wird, ist es nicht gerade sehr schnell aber daf\u00fcr braucht man nur 4 Leitungen.<\/p>\n<p>MISO wird nicht ben\u00f6tigt, Reset muss an Vcc und die LED-Hintergrundbeleuchtung kann man per Vorwiderstand auch an Vcc klemmen.<\/p>\n<p><strong>Hinweis zur Benutzung der Textausgabe :<br \/>\n<\/strong>Es k\u00f6nnen die Zeichens\u00e4tze der Font-Library benutzt werden, allerdings muss der Include Pfad in den Font.c Files angepasst werden.<\/p>\n<p><strong>Bild von der Display R\u00fcckseite :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/11\/ili9341_spi.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3075\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2013\/11\/ili9341_spi-300x179.jpg\" alt=\"ili9341_spi\" width=\"300\" height=\"179\" \/><\/a><\/p>\n<p><strong>Benutzte Pins :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">PB11 : CS   (ChipSelect)\r\nPB12 : D\/C  (DATA\/CMD)\r\nPB13 : SPI_CLK\r\nPB14 : SPI_MISO (MISO \/ SDO) [nicht notwendig]\r\nPB15 : SPI_MOSI (MOSI \/ SDI)<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">ErrorStatus UB_LCD_Init(void);                                                          \/\/ init vom LCD\r\nvoid UB_LCD_FillScreen(uint16_t color);                                                 \/\/ f\u00fcllt den Screen mit einer Farbe\r\nvoid UB_LCD_SetWindow(uint16_t xstart, uint16_t ystart, uint16_t xend, uint16_t yend);  \/\/ setzt ein Window zum zeichnen\r\nvoid UB_LCD_DrawPixel(int16_t xpos, int16_t ypos, uint16_t color);                      \/\/ zum zeichnen eines Pixels\r\nvoid UB_LCD_DrawLine(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);   \/\/ zum zeichnen einer Linie\r\nvoid UB_LCD_DrawCircle(int16_t x0, int16_t y0, int16_t radius, uint16_t color);         \/\/ zum zeichnen eines Kreises\r\nvoid UB_Font_DrawChar(uint16_t x, uint16_t y, uint8_t ascii, UB_Font *font, uint16_t vg, uint16_t bg);  \/\/ zum schreiben eines Buchstabens\r\nvoid UB_Font_DrawString(uint16_t x, uint16_t y,char *ptr, UB_Font *font, uint16_t vg, uint16_t bg);     \/\/ zum schreiben eines Strings<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 23.11.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.4\r\n\/\/ GCC      : 4.7 2012q4\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der LCD-ILI9341 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_lcd_ili9341_spi.h\"\r\n\r\nint main(void)\r\n{\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ init vom LCD\r\n  UB_LCD_Init();\r\n\r\n  \/\/ LCD mit gr\u00fcn l\u00f6schen\r\n  UB_LCD_FillScreen(RGB_COL_GREEN);\r\n\r\n  \/\/ einen Blauen Kreis zeichnen\r\n  UB_LCD_DrawCircle(120,160,60,RGB_COL_BLUE);\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\/2014\/04\/ub_stm32f4_lcd_ili9341_spi_v101.zip\">ub_stm32f4_lcd_ili9341_spi_v101<\/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\/2014\/04\/Demo_67_LCD_ILI9341.zip\">Demo_67_LCD_ILI9341<\/a><\/p>\n<hr \/>\n<h3 id=\"comments-title\">17 Antworten auf <em>67-LCD_ILI9341_SPI-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-1074\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1074\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/af5be9fa3f95b3ec9c424ed130b7f2d3?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\">Cortex-Einsteiger<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. November 2013 um 13:38<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>klasse!<br \/>\nDa werd ich das alte Display doch nochmal aus Schublade rauskramen.<br \/>\nEin TFT mit 4 Leitungen ansteuern macht einen fliegenden Laboraufbau viel einfacher, bei den anderen Beispielen musste man immer schauen ob sich nicht doch irgendwo eine der 20 Leitungen gel\u00f6st hatte.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1098\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-1098\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/af5be9fa3f95b3ec9c424ed130b7f2d3?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\">Cortex-Einsteiger<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">30. November 2013 um 20:42<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>funktioniert gut,<br \/>\naber die Geschwindigkeit ist leider mies, beim Bildschirmf\u00fcllen f\u00e4llt es extrem auf, f\u00fcr Linien oder Kreise ist es allerdings ok,<br \/>\nleider ist die Font-Lib nicht kompatibel, da bekomme ich wegen dem fehlenden Display-Mode sowie LCD-RAM Fehlermeldungen<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1099\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1099\">\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\">1. Dezember 2013 um 10:42<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>das ist kein Problem. F\u00fcge einfach eine Variable ein und setz sie fest auf einen Wert<\/p>\n<pre lang=\"c\" line=\"1\">uint32_t LCD_DISPLAY_MODE=PORTRAIT;\r\n<\/pre>\n<p>und ersetze alle stellen in denen ins RAM geschrieben wird, z.B.<\/p>\n<pre lang=\"c\" line=\"1\">\/\/ LCD_RAM = bg;  \/\/ alt\r\nUB_LCD_DrawPixel(xn+x,yn+y,bg); \/\/ neu\r\n<\/pre>\n<p>f\u00fcr die X\/Y-Adressen musst du dir den Code ansehen wie die berechnet werden und \u201cUB_LCD_SetCursor2Draw\u201d braucht man gar nicht mehr.<\/p>\n<p>den Speed kannst du event. etwas verbessern, in dem du in der SPI-Lib den SPI-Vorteiler kleiner einstellst\u2026bis das Display nicht mehr reagiert. Ich denke 10MHz sollte das Display noch mittmachen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1105\" class=\"comment odd alt depth-3\">\n<div id=\"comment-1105\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/af5be9fa3f95b3ec9c424ed130b7f2d3?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\">Cortex-Einsteiger<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Dezember 2013 um 13:25<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Habe nach deiner Anleitung den Code an allen n\u00f6tigen Stellen ge\u00e4ndert, nun l\u00e4uft die Textanzeige auch, danke f\u00fcr die schnelle Hilfe.<\/p>\n<p>Mein Display l\u00e4uft mit 21MHz SPI-Takt zuverl\u00e4ssig, da h\u00e4tte ich auch selbst drauf kommen k\u00f6nnen\u2026 man sieht zwar den Bildaufbau noch aber man hat keine \u201cWartezeit\u201d mehr<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1272\" class=\"comment even depth-3\">\n<div id=\"comment-1272\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. Januar 2014 um 00:52<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>kann man die Font Lib f\u00fcr das Display verwenden. Ich habe es versucht, allerdings meckert der Compiler, dass einige Funktionen doppelt definiert sind. Es gibt die Headerdatei f\u00fcr das Display ili9341 und f\u00fcr das Display st7783. Beide zusammen st\u00f6ren sich. Wo muss ich denn welche Headerdateien einbinden, damit ich die Font Lib benutzen kann?<\/p>\n<p>Gru\u00df<br \/>\nKai<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1273\" class=\"comment odd alt depth-4\">\n<div id=\"comment-1273\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. Januar 2014 um 01:25<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hat sich erledigt. Habe es hinbekommen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1246\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1246\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. Januar 2014 um 01:06<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>ich habe von adafruit ein Display mit dem ili9340.<br \/>\nKann man die Library auch daf\u00fcr verwenden.<\/p>\n<p>Gru\u00df<br \/>\nKai<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1247\" class=\"comment odd alt depth-2\">\n<div id=\"comment-1247\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b894d67379dd0647dd316009f47155d2?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\">Joerg<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. Januar 2014 um 10:38<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Wahrscheinlich benutzt adafruit nur ein anderes Breakout, letztendlich wirst du es einfach mal probieren m\u00fcssen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1248\" class=\"comment even depth-3\">\n<div id=\"comment-1248\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6dfa9e14d05a8decad6317a81e792f55?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\">Kai<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. Januar 2014 um 15:03<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Es funktioniert. Ich habe es aber an SPI3 geh\u00e4ngt.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1465\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-1465\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c0b9caf4cf281ce4ac435387ef0b478f?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\">Malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">12. M\u00e4rz 2014 um 15:44<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Guten Tag,<br \/>\nIch versuche ein Display mit dem ili9340 anzusteuern.<br \/>\nWir haben alle Pins zu (SPI1) umbenannt aber es funktioniert nicht.<br \/>\nDer Versuch alle SPI2 namen in SPI1 umzuschreiben hat uns auch nicht weitergebracht.<\/p>\n<p>Gibt es eventuell eine einfache M\u00f6glichkeit, unser Display \u00fcber SPI1 zum Laufen, zu bekommen?<br \/>\nLiebe Gr\u00fc\u00dfe,<br \/>\nMalte<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1469\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1469\">\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\">13. M\u00e4rz 2014 um 21:07<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>wenn du statt SPI2 den SPI1 benutzen willst :<br \/>\n1.)<br \/>\nmusst du zuerst die zwei Files : \u201cstm32_ub_spi2.c\u201d und \u201cstm32_ub_spi2.h\u201d l\u00f6schen und durch die zwei files \u201cstm32_ub_spi1.c\u201d und \u201cstm32_ub_spi1.h\u201d ersetzen.<br \/>\n(Diese Files finden sich in der Library \u201c15-SPI_LoLevel\u201d)<br \/>\n2.)<br \/>\nIm \u201cstm32_ub_spi1.c\u201d sind die ben\u00f6tigten SPI-Pins der CPU eingetragen.<br \/>\n3.)<br \/>\nIm File \u201cstm32_ub_lcd_ili9341_spi.h\u201d muss der Include auf die neue \u201cstm32_ub_spi1.h\u201d ge\u00e4ndert werden.<br \/>\n4.)<br \/>\nUnd alle Funktionen in der \u201cstm32_ub_lcd_ili9341_spi.c\u201d die \u201cSPI2\u2033 enthalten m\u00fcssen auf \u201cSPI1\u2033 umbenannt werden.<br \/>\n5.)<br \/>\nDas compilieren darf keine Fehler melden<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1472\" class=\"comment odd alt depth-3\">\n<div id=\"comment-1472\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/c0b9caf4cf281ce4ac435387ef0b478f?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\">Malte<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. M\u00e4rz 2014 um 18:59<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Sehr vielen Dank f\u00fcr die Hilfe <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1603\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1603\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/d4bc4c6f00324ab785faa695fd948950?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\">Klemen<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. April 2014 um 10:20<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Nice work!<br \/>\nLCD works great!<br \/>\nIs possible to display string? Is there any library? I searching for Discovery board and no luck \u2026<\/p>\n<p>Best regards,<br \/>\nKlemen<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1604\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-1604\">\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\">26. April 2014 um 12:32<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>please download Version 1.1 and try \u201cUB_Font_DrawString\u201d. You also need Font-Files included here : <a href=\"indexda4c.html?page_id=527\" rel=\"nofollow\">http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=527<\/a>. And you have to change the include path in the font.c files to \u201cstm32_ub_lcd_ili9341_spi.h\u201d<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2995\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-2995\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/25fca3160a46037202c4ddf0f90add6c?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\">Christian<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. M\u00e4rz 2015 um 23:32<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Erst mal Klasse, dass Du dein Wissen mit anderen teilst und den Einstieg mit dem ili9431 enorm unterst\u00fctzt!<\/p>\n<p>Jedoch wollte ich gerne das Display rotoeren lassen bzw. von \u201cPORTRAIT auf LANDSCAPE \u00e4ndern. Jedoch finde ich keine Funktion zum Modus\u2026hast DU da einen Tip f\u00fcr mich oder mu\u00df ich das datasheet nochmal b\u00fcffeln?<\/p>\n<p>Nochmals, coole Leistung!<br \/>\nChristian<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3002\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-3002\">\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\">18. M\u00e4rz 2015 um 19:15<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>das muss im Datenblatt irgendwo stehen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4348\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-4348\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/8ee1edc4df18d1afd12eb0c4c8a55091?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\">Christian Julius<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. November 2015 um 16:32<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>das Display wird deutlich schneller, wenn man die SPI mit der DMA f\u00fctttert. Der Speicherplatz reicht zwar nur f\u00fcr 1 Page aber die passt auch noch so eben rein. Dann kann man auf der Page arbeiten. Ok, die CPU muss st\u00e4ndig den internen Bus freigeben so dass sie auch langsamer rechnet aber den Faktor 10 kriegt man schon hin.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>diese Library dient zum ansteuern eines Grafik LC-Displays mit einem ILI9341-Chip. (240 x 320 Pixel und 16bit Farbe) das Display wird per SPI angesteuert (aus dem Grund wird auch noch die SPI-Library ben\u00f6tigt) in der Library ist das l\u00f6schen vom &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=466\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":67,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[216,139,9,49,7],"class_list":["post-466","page","type-page","status-publish","hentry","category-stm32f4","tag-ili9341","tag-lcd","tag-library","tag-spi","tag-stm32f4"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=466"}],"version-history":[{"count":3,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/466\/revisions"}],"predecessor-version":[{"id":1606,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/466\/revisions\/1606"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}