{"id":491,"date":"2017-11-24T23:57:06","date_gmt":"2017-11-24T22:57:06","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=491"},"modified":"2017-12-31T19:06:53","modified_gmt":"2017-12-31T18:06:53","slug":"78-ws2812-library-stm32f4","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=491","title":{"rendered":"78-WS2812-Library (STM32F4)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=489\" title=\"77-UART_DMA-Library (STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 77-UART_DMA-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=493\" title=\"79-ScopeScreen-Library (STM32F4)\">79-ScopeScreen-Library (STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Hier eine Library um eine (oder mehrere) RGB-LEDs vom Typ WS2812 zu betreiben.<br \/>\n(Bis zu 4 LED-Ketten k\u00f6nnen angeschlossen werden)<\/p>\n<p>Es gibt noch eine andere Library mit der bis zu 8 Ketten betrieben werden k\u00f6nnen<br \/>\n(<a title=\"88-WS2812_8CH-Library (STM32F4)\" href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=521\">88=WS2812_8CH-Lib<\/a>)<\/p>\n<p>Die WS2812-LED wird \u00fcber eine einzelne Datenleitung mit der CPU verbunden. \u00dcber diese Leitung wird der LED der Farbwert (als RGB888) \u00fcbermittelt.<\/p>\n<p>Da jede WS2812 je einen Input und einen Output Pin hat, k\u00f6nnen mehrere LEDs als \u201cKette\u201d verschaltet werden und somit kann man beliebig viele LEDs mit nur einem einzigen CPU-Pin steuern.<\/p>\n<p>Die LEDs gibt es in verschiedenen Variationen zu kaufen. Entweder einzeln (als SMD oder im 8mm Geh\u00e4use), oder schon fertig verbunden als Meterware (trennbar an jeder beliebigen Stelle)<\/p>\n<p>Ich habe die LEDs als \u201c5er Platinen Streifen\u201d gekauft. Weil ich nicht viel l\u00f6ten wollte und auch nicht mehr brauche als 5 St\u00fcck.<\/p>\n<p>Ab der Version 1.1 der Library k\u00f6nnen bis zu 4 LED-Ketten an die CPU angeschlossen werden. Diese k\u00f6nnen dann unabh\u00e4ngig voneinander geschaltet werden.<\/p>\n<p>Im H-File der Library muss eingestellt werden,\u00a0wie viele LEDs an den jeweiligen Kan\u00e4len angeschlossen sind (Als L\u00e4nge \u201c0\u2033 eintragen, wenn eine Kette nicht benutzt wird)<\/p>\n<p>Es m\u00fcssen auch die GPIO-Pins f\u00fcr die Datenleitungen eingestellt werden,<br \/>\ndiese sind nicht v\u00f6llig frei w\u00e4hlbar, sondern h\u00e4ngen vom benutzten Timer ab.<\/p>\n<p><strong>Zur Software :<\/strong><\/p>\n<p>Nach dem start werden zuerst alle LEDs ausgeschaltet und die LED-Kette mit der niedrigsten Kanal-Nr ist aktiv. Alle Befehle (Farbe \u00e4ndern, schieben rotieren usw) beziehen sich immer nur auf die gerade aktive LED-Kette.<\/p>\n<p>Mit der Funktion \u201cUB_WS2812_SetChannel\u201d kann die aktive LED-Kette gewechselt werden.<\/p>\n<p>Die RGB-Farbwerte der LEDs m\u00fcssen in einem Array eingetragen werden \u201cWS2812_LED_BUF_CHx\u201d. Das kann entweder \u201cmanuell\u201d in der Software gemacht werden oder mit den Funktionen die ich daf\u00fcr geschrieben habe. Damit die Farbwerte an die LEDs gesendet werden muss danach die Funktion \u201cUB_WS2812_Refresh()\u201d einmal aufgerufen werden.<\/p>\n<p>Wer lieber im HSV-Farbraum arbeitet f\u00fcr den habe ich eine Umrechenfunktion von \u201cHSV\u201d in \u201cRGB\u201d dazugepackt. (die Funktion habe ich von Ulrich-Radig seiner Webseite)<\/p>\n<p><strong>Spannungsversorgung \/ Strom :<\/strong><\/p>\n<p>Wen die Datenleitung der ersten LED direkt an die CPU angeschlossen wird, darf die Versorgungsspannung der LEDs <span style=\"text-decoration: underline;\">nicht<\/span> &gt; als 3,3V sein !! (sonst wird der Hi-Pegel u.U. nicht richtig erkannt)<\/p>\n<p>Und auch auf die Stromaufnahme achten !! Wenn alle LEDs \u201cweiss\u201d bei 100% Helligkeit anzeigen, kommt da in der Summe schon was zusammen !!<\/p>\n<p><strong>Bilder :<\/strong><\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2014\/03\/ws2812.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3674\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2014\/03\/ws2812-300x74.jpg\" alt=\"ws2812\" width=\"300\" height=\"74\" \/><\/a><\/p>\n<p><strong>Benutzte Pins :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">CH1 = PC6\r\nCH2 = PB5\r\nCH3 = PB0\r\nCH4 = PB1<\/pre>\n<p><strong>Voraussetzungen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">Benutzte Module der CooCox-IDE : GPIO, TIM, DMA, MISC\r\nBenutzte Librarys : keine<\/pre>\n<p><strong>Enumerationen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef struct {\r\n  uint8_t red;    \/\/ 0...255 (als PWM-Wert)\r\n  uint8_t green;  \/\/ 0...255 (als PWM-Wert)\r\n  uint8_t blue;   \/\/ 0...255 (als PWM-Wert)\r\n}WS2812_RGB_t;<\/pre>\n<p><strong>:<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">typedef struct {\r\n  uint16_t h;     \/\/ 0...359 (in Grad, 0=R, 120=G, 240=B)\r\n  uint8_t s;      \/\/ 0...100 (in Prozent)\r\n  uint8_t v;      \/\/ 0...100 (in Prozent)\r\n}WS2812_HSV_t;<\/pre>\n<p><strong>Funktionen :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">void UB_WS2812_Init(void);                                                       \/\/ zum init der WS2812-Kette\r\nvoid UB_WS2812_SetChannel(uint8_t ch);                                           \/\/ aktive LED-Kette ausw\u00e4hlen\r\nvoid UB_WS2812_Refresh(void);                                                    \/\/ RGB-Array an die LEDs senden\r\nvoid UB_WS2812_RGB_2_HSV(WS2812_HSV_t hsv_col, WS2812_RGB_t *rgb_col);           \/\/ HSV-Wert in RGB umrechnen\r\nvoid UB_WS2812_One_Led_RGB(uint32_t nr, WS2812_RGB_t rgb_col, uint8_t refresh);  \/\/ eine LED setzen (als RGB Wert)\r\nvoid UB_WS2812_All_Led_RGB(WS2812_RGB_t rgb_col, uint8_t refresh);               \/\/ alle LEDs setzen (als RGB Wert)\r\nvoid UB_WS2812_One_Led_HSV(uint32_t nr, WS2812_HSV_t hsv_col, uint8_t refresh);  \/\/ eine LED setzen (als HSV Wert)\r\nvoid UB_WS2812_All_Led_HSV(WS2812_HSV_t hsv_col, uint8_t refresh);               \/\/ alle LEDs setzen (als HSV Wert)\r\nvoid UB_WS2812_Shift_Left(void);                                                 \/\/ alle LEDs einen Step links schieben\r\nvoid UB_WS2812_Shift_Right(void);                                                \/\/ alle LEDs einen Step rechts schieben\r\nvoid UB_WS2812_Rotate_Left(void);                                                \/\/ alle LEDs einen Step links rotieren\r\nvoid UB_WS2812_Rotate_Right(void);                                               \/\/ alle LEDs einen Step rechts rotieren<\/pre>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 20.03.2014\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 WS2812-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_ws2812.h\"\r\n\r\nvoid Delay(volatile uint32_t nCount)\r\n{\r\n  while(nCount--)\r\n  {\r\n  }\r\n}\r\n\r\nint main(void)\r\n{\r\n  WS2812_HSV_t led1,led2,led3,led4,led5;\r\n\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ init der WS2812-Kette an PC6 (5 LEDs)\r\n  UB_WS2812_Init();\r\n\r\n  led1=WS2812_HSV_COL_RED;    \/\/ LED-1 auf \"rot\"\r\n  led2=WS2812_HSV_COL_YELLOW; \/\/ LED-2 auf \"gelb\"\r\n  led3=WS2812_HSV_COL_GREEN;  \/\/ LED-3 auf \"gruen\"\r\n  led4=WS2812_HSV_COL_CYAN;   \/\/ LED-4 auf \"cyan\"\r\n  led5=WS2812_HSV_COL_BLUE;   \/\/ LED-5 auf \"blau\"\r\n\r\n  \/\/ Farbwerte setzen\r\n  UB_WS2812_One_Led_HSV(0,led1,0);\r\n  UB_WS2812_One_Led_HSV(1,led2,0);\r\n  UB_WS2812_One_Led_HSV(2,led3,0);\r\n  UB_WS2812_One_Led_HSV(3,led4,0);\r\n  UB_WS2812_One_Led_HSV(4,led5,1);  \/\/ mit Refresh\r\n\r\n  while(1)\r\n  {\r\n\t\/\/ kleine pause\r\n    Delay(50000);\r\n\r\n    \/\/ Farbe von allen Leds aendern\r\n    led1.h++; if(led1.h&gt;359) led1.h=0;\r\n    led2.h++; if(led2.h&gt;359) led2.h=0;\r\n    led3.h++; if(led3.h&gt;359) led3.h=0;\r\n    led4.h++; if(led4.h&gt;359) led4.h=0;\r\n    led5.h++; if(led5.h&gt;359) led5.h=0;\r\n\r\n    \/\/ neue Farbwerte setzen\r\n    UB_WS2812_One_Led_HSV(0,led1,0);\r\n    UB_WS2812_One_Led_HSV(1,led2,0);\r\n    UB_WS2812_One_Led_HSV(2,led3,0);\r\n    UB_WS2812_One_Led_HSV(3,led4,0);\r\n    UB_WS2812_One_Led_HSV(4,led5,1);  \/\/ mit Refresh\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_ws2812_v102.zip\">ub_stm32f4_ws2812_v102<\/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_78_WS2812.zip\">Demo_78_WS2812<\/a><\/p>\n<hr \/>\n<h3 id=\"comments-title\">41 Antworten auf <em>78-WS2812-Library (STM32F4)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-1482\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1482\">\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\">21. M\u00e4rz 2014 um 11:26<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>diese Leds mit integriertem Controller sind wirklich toll, doch leider sind die extrem teuer<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1483\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-1483\">\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\">21. M\u00e4rz 2014 um 18:55<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>darum hab ich auch nur 2 x 5 St\u00fcck gekauft <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<li id=\"li-comment-1494\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-1494\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6914fb56febc3a0ecb21a31b029b07d9?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\">Hosentraeger<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. M\u00e4rz 2014 um 21:56<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>wie immer eine sehr sch\u00f6ne Lib \u2013 vielen Dank! Mein 240er LED Strip l\u00e4uft super damit.<br \/>\nEs ist zwar eine riesige Verschwendung von RAM, aber der Controller hat ja genug davon <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1495\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-1495\">\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\">25. M\u00e4rz 2014 um 08:57<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>sch\u00f6n zu h\u00f6ren. Du kannst aus dem Array \u201cWS2812_TIMER_BUF\u201d auch ein \u201cuint8_t\u201d machen, das m\u00fcsste auch laufen. Dann brauchst du bei 240 LEDs statt 12kByte nur 6kByte RAM.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1497\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-1497\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/6914fb56febc3a0ecb21a31b029b07d9?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\">Hosentraeger<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. M\u00e4rz 2014 um 10:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ja, eigentlich m\u00fcssten Bytes f\u00fcr die Timer-Werte reichen. Mit uint8_t l\u00e4uft es aber nicht. Habe auch die DMA-Initialisierung von DMA_***DataSize_HalfWord in DMA_***DataSize_Byte ge\u00e4ndert, leider kein Erfolg.<br \/>\nBei der dicken MCU kommt es auf die 6 kB aber auch wirklich nicht an <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<li id=\"li-comment-1562\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-1562\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a74b9094974046ab750f6ad715616768?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\"><a class=\"url\" href=\"http:\/\/t4sound.de\/\" rel=\"external nofollow\">t4sound<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. April 2014 um 13:11<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>super Lib! <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><br \/>\nHerzlichen Dank daf\u00fcr.<\/p>\n<p>Ich w\u00fcrde deine Lib gerne erweitern um vier Strips unabh\u00e4ngig voneinander ansteuern.<br \/>\nKannst Du mir einen Weg aufzeigen alle vier Kan\u00e4le des Timers einzeln zu verwenden. Oder ist das garnicht m\u00f6glich?<\/p>\n<p>mfG: Michael<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1567\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1567\">\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. April 2014 um 11:23<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ab Version 1.1 sind jetzt bis zu 4 LED-Ketten benutzbar. Bitte mal ausprobieren und hier posten falls noch ein Fehler auftaucht.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1832\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-1832\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b660b94bbcefdc9b0d333bce51d0d40a?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\"><a class=\"url\" href=\"http:\/\/t4sound.de\/\" rel=\"external nofollow\">t4sound<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Juni 2014 um 19:13<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<\/p>\n<p>bei der Inbetriebnahme von einem Discovery mit vier Strips ist mir nun aufgefallen das das PWM vom Kanal 2 auch immer auf Kanal 4 und anderst herum, ausgegeben wird. Dies f\u00fcrt zu einem starken Flackern der LED.<br \/>\nHast Du eine Idee woran das liegen kann? Hardware?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1838\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1838\">\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\">5. Juni 2014 um 19:28<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>komisch\u2026muss ich nochmal danach sehen<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1846\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-1846\">\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\">7. Juni 2014 um 09:28<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>hab es jetzt mal ausprobiert mit 4 Stripes (2\u00d72 LEDs und 2\u00d73 LEDs) und alles funktioniert wie es soll (Version 1.2) hier mein Testprogramm :<\/p>\n<pre lang=\"c\" line=\"1\">  UB_WS2812_SetChannel(1);\r\n  UB_WS2812_One_Led_RGB(0,WS2812_RGB_COL_BLUE,0);\r\n  UB_WS2812_One_Led_RGB(1,WS2812_RGB_COL_GREEN,1);\r\n\r\n  UB_WS2812_SetChannel(2);\r\n  UB_WS2812_One_Led_RGB(0,WS2812_RGB_COL_RED,0);\r\n  UB_WS2812_One_Led_RGB(1,WS2812_RGB_COL_WHITE,0);\r\n  UB_WS2812_One_Led_RGB(2,WS2812_RGB_COL_CYAN,1);\r\n\r\n  UB_WS2812_SetChannel(3);\r\n  UB_WS2812_One_Led_RGB(0,WS2812_RGB_COL_MAGENTA,0);\r\n  UB_WS2812_One_Led_RGB(1,WS2812_RGB_COL_YELLOW,1);\r\n\r\n  UB_WS2812_SetChannel(4);\r\n  UB_WS2812_One_Led_RGB(0,WS2812_RGB_COL_GREEN,0);\r\n  UB_WS2812_One_Led_RGB(1,WS2812_RGB_COL_RED,0);\r\n  UB_WS2812_One_Led_RGB(2,WS2812_RGB_COL_BLUE,1);\r\n\r\n  UB_WS2812_SetChannel(2);\r\n  while(1) {\r\n    pause(100);\r\n    UB_WS2812_Rotate_Left();\r\n  }\r\n<\/pre>\n<p>event hast du einen Fehler in deinem Programm beim umschalten der Kan\u00e4le<br \/>\nes muss ja immer erst per \u201cSetChannel\u201d der aktivie Kanal ausgew\u00e4hlt werden !!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1943\" class=\"comment even depth-3\">\n<div id=\"comment-1943\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b660b94bbcefdc9b0d333bce51d0d40a?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\"><a class=\"url\" href=\"http:\/\/t4sound.de\/\" rel=\"external nofollow\">Michael<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">16. Juli 2014 um 16:57<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<\/p>\n<p>danke f\u00fcr den Hinweis. Ich hab es jetzt mit einem anderen Discovery Board versucht. Bei dem gibt es das Problem nicht. ???<br \/>\nAlso irgendwas stimmte mit der Hardware nicht. Danke f\u00fcr deine Hilfe.<\/p>\n<p>Ist es eigentlich m\u00f6glich den DMA im Hintergrund immer weiterlaufen zu lassen und im Main das Ausgabe-Array nur bei Bedarf upzudaten? Ich frage weil beim umschalten auf einen anderen Strip der Prozessor immer warten muss bis der DMA fertig ist.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1944\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-1944\">\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\">17. Juli 2014 um 16:34<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>wie viele LEDs hast du denn an einer Kette ?<br \/>\nbei 300 LEDs liegt die \u201cWartezeit\u201d bei ca. 9ms<br \/>\nund bei 4 Ketten mit je 300 LEDs h\u00e4tte man eine Refreshzeit von ca. 25Hz.<br \/>\nFalls dir das nicht reicht, m\u00fcsste man alle 4 Ketten parallel laufen lassen (bin mir nicht sicher ob das geht) und daf\u00fcr 4mal so viel Speicher belegen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1945\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\">\n<div id=\"comment-1945\">\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\">17. Juli 2014 um 16:42<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Nachtrag : das jede LED-Kette ihre Farben beh\u00e4llt, auch ohne \u201cRefresh\u201d aufzurufen ist hoffentlich klar. Also die Funktion \u201crefresh\u201d wird nur ben\u00f6tigt, wenn sich an einer LED-Kette die Farbe einer LED (odere mehrere) \u00e4ndern sollen. Die muss nicht st\u00e4ndig aufgerufen werden.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1946\" class=\"comment odd alt depth-5\">\n<div id=\"comment-1946\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b660b94bbcefdc9b0d333bce51d0d40a?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\"><a class=\"url\" href=\"http:\/\/t4sound.de\/\" rel=\"external nofollow\">Michael<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. Juli 2014 um 21:09<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Die Anzahl der LED ist verschieden und bis zu 480 St\u00fcck. Du hast recht. Ich sollte die Aktualisierungs-Methode nochmal \u00fcberdenken. Da ich viel mit dimming und schnellen Farben mache kommt es bedingt durch andere zyklische Aufrufe wie PID Regler zum ruckeln.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-1978\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-1978\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e3cf11b000d7e149122a2a3f39911cc6?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\">Leddel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. Juli 2014 um 14:24<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hello<\/p>\n<p>Sorry for my English post, but since I\u2019m not German it\u2019s very hard for me to properly write a German post.<\/p>\n<p>I was wondering if this library could be easily ported from the F4 processors to a F1 processor like the STM32F103. These devices also have DMA channels and timers. But are a lot slower than the F4. For example the STM32F103 can run up to 72MHZ.<\/p>\n<p>Or would it just be a matter of recalculating the timer value?<\/p>\n<p>My sincerly<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-1979\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-1979\">\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. Juli 2014 um 11:40<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>you dont need to write in german, but then you have to deal with my bad english <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/> and to your question : i dont have a F1 to check a conversion but it should not be very tricky. Of course the timer settings must be changed to have the correct speed. There is one Timer (TIM3) running with 800kHz (setup in the H-File) to generate the Signal for the WS2812. So you have to check the values of \u201cWS2812_TIM_PERIODE\u201d, \u201cWS2812_LO_TIME\u201d, \u201cWS2812_HI_TIME\u201d<br \/>\nPeriod must set to a value to reach 800 kHz (in F4 : 84MHz\/1\/105 = 800kHz)<br \/>\nLo-Time must set to reach about 0.35us (in F4 : 1\/84MHz*29 = 0.345us)<br \/>\nHi-Time mus set to reach about 0.90us (in F4 : 1\/84MHz*76 = 0.904us)<br \/>\nSo try this and leave a comment if it works.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-1980\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-1980\">\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. Juli 2014 um 11:45<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>and you have to check if the dma settings are the same (Channel and Stream number) and if the Timer-3 Capture Pins for Channel1 to 4 are the same (PC6, PB5, PB0, PB1)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2117\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-2117\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/3a8455cca182a7d77ab111dd68cb0124?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\">Michael<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. September 2014 um 11:07<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>find deine Library und auch deine anderen Libraries total super. Komm von 8-bittern und daher noch Einsteiger was die STM32 uC angeht. Nur ich hab leider das Problem das ich die Library nicht zum laufen bekomme ;( Ich habe auch dein Demoprogramm getestet aber ich bekomm keine Datenausgabe (LEDs hab ich nicht dran nur ein Oscar, um zu gucken ob \u00fcberhaupt was kommt)<br \/>\nIch habe nun auch die Verschiedensten Ausgabepins mal probiert die du mit TIM3 angibst, aber leider bei PC6 sowie PA6 und PA7 keine Ausgabe zu verzeichnen.<br \/>\nHast du eventuell eine Idee wodran es liegen k\u00f6nnte das so mal garnichts kommt? Es kommt lediglich bei einem Reset ein ganz kurzer High Pegel (Was aber die Initroutine sein wird).<\/p>\n<p>Dank dir schonmal<br \/>\nGru\u00df Michael<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2118\" class=\"comment even depth-2\">\n<div id=\"comment-2118\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/3a8455cca182a7d77ab111dd68cb0124?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\">Michael<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. September 2014 um 11:11<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ach was ich noch zu deiner Library erw\u00e4hnen wollte, es w\u00e4re nat\u00fcrlich super wenn man die L\u00e4ngen der Strips dynamisch ermitteln k\u00f6nnte. Ich hab das an meine xMEGA und auch ATMega Steuerung mit einem einfachen Interrupt gel\u00f6st welcher am DOUT der letzten Led am Strip verbunden ist.<br \/>\nNur so als kleines \u201cFeaturerequest\u201d <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2122\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-2122\">\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\">4. September 2014 um 19:24<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ja, k\u00f6nnte man machen\u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2121\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2121\">\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\">4. September 2014 um 19:21<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>die Software funktioniert zu 100% (programmier mal direkt das HEX-File) Der fehler liegt dann entweder in deiner Hardware oder du \u201cMist\u201d,\u201dMist\u201d. Welchen Compiler benutzt du ? Check nochmal das Oszi und den Messpunkt.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2124\" class=\"comment odd alt depth-3\">\n<div id=\"comment-2124\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/3a8455cca182a7d77ab111dd68cb0124?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\">Michael<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">5. September 2014 um 09:37<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>so ich habe das Problem l\u00f6sen k\u00f6nnen. Er hing in der Refresh Routine wo er auf das \u201cws2812_dma_status\u201d flag wartet.<br \/>\nIch habe die Variable als \u201cvolatile\u201d deklariert und nun geht es <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><br \/>\nEcht super, dann kann ich meine Anlage doch vom xMega %) auf nen billigeren ARM portieren <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<p>Gru\u00df Michael<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2641\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-2641\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/beb6f225cfd43e7d716252acbb26c6ba?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\">Bjoern<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">6. Dezember 2014 um 22:21<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi der Herr <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<p>Bin noch recht neu im Arm-Bereich und komme von den Atmel\/Renesas 8bittern daher.<br \/>\nHabe mir Coocox IDE installiert und einmal Deine tollen Libs getestet.<br \/>\nLeider funktionieren diese alle scheinbar nicht mit der aktuellen Coocox Version die man herunter laden kann.<br \/>\nDort bekommt man nur noch eine beta der 2.0 \u2013 Mit der von einem Kumpel bekommenen 1.7.4 funktioniert alles wunderbar!<\/p>\n<p>Wenn ich die Lib im neuen Coocox \u00f6ffnen m\u00f6chte, steht im Compiler String in den Configurations ein \u201cM0\u2033 drin und es gibt keine Chance das Device einzustellen.<br \/>\nDer Reiter \u201cDevice\u201d fehlt einfach g\u00e4nzlich\u2026<\/p>\n<p>Da ich ausschliessen wollte, dass ich total d\u00e4mlich bin, hat es mein Kumpel auch einmal getestet (Er hat schon einige Jahre Erfahrung mit den STMs).<br \/>\n-&gt; Auch gleiches Problem.<\/p>\n<p>Hast Du das schon einmal getestet?<br \/>\nEs scheint so, als ob es da gravierende \u00c4nderungen zur 2.0 gab.<\/p>\n<p>Gr\u00fc\u00dfe, Bjoern<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2644\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2644\">\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\">7. Dezember 2014 um 10:56<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>also mal abgesehen das es die alten Versionen noch unter \u201cold Website\u201d zum download gibt, sind meine Files \u201cstandard\u201d C-Files. Ich kann mir vorstellen das man ein komplettes Projekt von der alten Version nicht mehr laden kann aber man kann mit Sicherheit die einzelnen Files einfach per \u201cadd\u201d zu einem 2.0-Projekt hinzuf\u00fcgen. (das geht \u00fcbrigens auch in jeder anderen IDE so)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2652\" class=\"comment even depth-3\">\n<div id=\"comment-2652\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/beb6f225cfd43e7d716252acbb26c6ba?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\">Bjoern<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Dezember 2014 um 18:46<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Nat\u00fcrlich kann man die Sourcen in neue Projekte einklinken.<br \/>\nDie Frage zielte eher auf die Projektdatei ab.<br \/>\nWenn man diese im neuen Coocox startet, wird der \u201cM0\u2033 gew\u00e4hlt.<br \/>\nKonnte leider nicht herausfinden wie man das Projekt dann auf den F4 hievt\u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2654\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-2654\">\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\">7. Dezember 2014 um 21:26<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>da kann ich dir nicht weiterhelfen. event. der Coocox support oder das forum.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2657\" class=\"comment even depth-5\">\n<div id=\"comment-2657\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/beb6f225cfd43e7d716252acbb26c6ba?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\">Bjoern<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Dezember 2014 um 22:21<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Okay, danke trotzdem.<br \/>\nFalls nochmal so eine R\u00fcckfrage kommt, wei\u00dft Du an was es liegen k\u00f6nnte <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";)\" \/><\/p>\n<p>Danke auf jeden Fall f\u00fcr die Ver\u00f6ffentlichung Deiner Libs.<br \/>\nDiese helfen wirklich ungemein beim Einstieg!!!<br \/>\nDir noch einen sch\u00f6nen Abend.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2647\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-2647\">\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\">7. Dezember 2014 um 11:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Nun habe ich mich doch mal durchgerungen und f\u00fcr paar Euro Leds bestellt.<br \/>\nDie Lib funktioniert sehr gut, schon allein die Demo ist beeindruckend.<\/p>\n<p>Aber wie habt ihr das Problem mit der Pegelwandlung gel\u00f6st, Controller mit 3V und Leds mit 5V gibt bei mir Probleme. Den Strip mit 3V zu versorgen funktioniert zwar, aber bei mehreren Leds habe ich da meine bedenken.<br \/>\nSpontan f\u00e4llt mir eine Doppel-Transistorstufe ein, aber das f\u00fcr 4 Channels aufzubauen\u2026 geht das nicht einfacher, evtl. per Software und Open Drain GPIO?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2651\" class=\"comment even depth-2\">\n<div id=\"comment-2651\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/beb6f225cfd43e7d716252acbb26c6ba?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\">Bjoern<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Dezember 2014 um 18:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Die Datensignalte f\u00fcrfen doch 3v3 haben!?<br \/>\nDie Schwelllspannung der Eingangslogik ist irgendwo um die 0,8-1V.<br \/>\nSpannungsversorgung f\u00fcr die LEDs k\u00f6nnen ja trotzdem 5V sein.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2659\" class=\"comment odd alt depth-3\">\n<div id=\"comment-2659\">\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\">8. Dezember 2014 um 19:30<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Bei mir funktioniert es nicht, da gehen Flanken verloren.<br \/>\ncontroller mit 3,3V \u2013 0,3V Schutzdiode vom Board und die Leds mit 5V versorgt.<br \/>\nIst es nicht m\u00f6glich \u00e4hnlich zu I2C mit Pullups das ganz einfach zu l\u00f6sen? die Pins w\u00fcrden ja 5V aushalten.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2660\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\">\n<div id=\"comment-2660\">\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\">8. Dezember 2014 um 21:09<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>probier es doch einfach aus. stell in der INIT-IO Funktion statt PushPull OpenDrain ein (den internen PullUp deaktivieren) und benutz einen externen PullUp auf 5V. Mehr als nicht funktionieren kann es nicht.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2668\" class=\"comment odd alt depth-5\">\n<div id=\"comment-2668\">\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\">9. Dezember 2014 um 21:39<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Danke f\u00fcr die Hilfe!<br \/>\nFunktioniert super.<br \/>\nEinzig muss man vorher \u00fcberpr\u00fcfen ob der jeweilige I\/O auch mit 5V arbeiten kann, ansonsten ist es die perfekte L\u00f6sung.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2648\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-2648\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/b660b94bbcefdc9b0d333bce51d0d40a?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\"><a class=\"url\" href=\"http:\/\/t4sound.de\/\" rel=\"external nofollow\">Michael H<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Dezember 2014 um 15:09<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Einsteiger,<\/p>\n<p>ich mache eine Pegelwandlung mit 74HCT08 Bausteinen (Logisch-UND).<br \/>\nDas funktioniert super.<\/p>\n<p>Einfach beide Eing\u00e4nge des Gatters zusammenlegen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-2794\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-2794\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/09fdc4c4d58cdcd74c7c9eccd59325e1?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\"><a class=\"url\" href=\"http:\/\/www.mikrocontroller.net\/articles\/IRMP\" rel=\"external nofollow\">Frank M.<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">8. Januar 2015 um 14:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<\/p>\n<p>danke f\u00fcr die lehrreiche Software Lib.<\/p>\n<p>Mir ist aber ein Fehler aufgefallen:<\/p>\n<p>Die Variable ws2812_dma_status muss volatile definiert sein, damit solche Schleifen wie:<\/p>\n<p>while(ws2812_dma_status!=0);<\/p>\n<p>nicht endlos h\u00e4ngen. Das f\u00e4llt erst bei eingeschalteter Optimierung auf.<\/p>\n<p>Gru\u00df,<\/p>\n<p>Frank<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2796\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2796\">\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\">9. Januar 2015 um 20:41<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ja, kann sein\u2026Danke f\u00fcr den Hinweis.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4290\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-4290\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/ceaf42186d6701212240d117f6da5d62?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 S.<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">2. November 2015 um 09:46<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>besten Dank f\u00fcr all deine Librarys. F\u00fcr einen Anf\u00e4nger wie mich ist deine Seite eine super Unterst\u00fctzung.<br \/>\nNun aber habe ich das Problem, das ich diese Library (WS2812) mit HAL benutzen m\u00f6chte. Leider kommt es schon bei der Initialisierung zu Fehlermeldungen.<br \/>\nBesteht die M\u00f6glichkeit, das es deine Librarys auch f\u00fcr HAL geben wird?<br \/>\nIch benutze EWARM und CubeMx.<br \/>\nBesten Dank f\u00fcr deine Unterst\u00fctzung<\/p>\n<p>Gru\u00df<br \/>\nChristian<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4304\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-4304\">\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\">6. November 2015 um 21:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>HAL benutzte ich nur beim F7. Leider gibt es da zu viele Unterschiede um das auf die schnelle umzuprogrammieren. sorry<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4434\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-4434\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/ccc12e49503af5ce3826e7dd8c185382?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\">Heiko<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">7. Dezember 2015 um 18:49<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Erst mal vielen Dank f\u00fcr deine Lib\u00b4s !<br \/>\nKannst du mir den Link zu Version 1 schicken ?<br \/>\nIch brauche f\u00fcr mein Projekt die restlichen DMA Channels und will nur eine \u201cKette\u201d ansteuern.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4444\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-4444\">\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\">12. Dezember 2015 um 12:31<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>die alte Versionen habe ich nicht mehr. Wenn im H-File die L\u00e4ngen der 3 anderen Ketten auf 0 steht, werden die Timer und DMAs nicht initialisiert. Die kannst du also frei benutzen. Du musst nur im C-File die nicht ben\u00f6tigen ISR-Funktionen l\u00f6schen. z.B.<br \/>\nvoid WS2812_DMA_CH2_ISR(void)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4447\" class=\"comment odd alt depth-3\">\n<div id=\"comment-4447\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/ccc12e49503af5ce3826e7dd8c185382?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\">Heiko<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">13. Dezember 2015 um 06:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Das hilft mir, vielen dank !<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4495\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-4495\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/cb9d21813919840d89e498e06be46027?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\">Bob Bobsen<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. Januar 2016 um 20:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>genau so eine Libary habe ich gesucht <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><br \/>\nps.: super Seite f\u00fcr den Einstieg ! Vielen Dank\u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Hier eine Library um eine (oder mehrere) RGB-LEDs vom Typ WS2812 zu betreiben. (Bis zu 4 LED-Ketten k\u00f6nnen angeschlossen werden) Es gibt noch eine andere Library mit der bis zu 8 Ketten betrieben werden k\u00f6nnen (88=WS2812_8CH-Lib) Die WS2812-LED wird \u00fcber &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=491\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":144,"menu_order":78,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[128],"tags":[9,235,7,234],"class_list":["post-491","page","type-page","status-publish","hentry","category-stm32f4","tag-library","tag-rgb-led","tag-stm32f4","tag-ws2812"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/491","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=491"}],"version-history":[{"count":4,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/491\/revisions"}],"predecessor-version":[{"id":1790,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/491\/revisions\/1790"}],"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=491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}