This is a bitbang library for WS2812. I test it with STM32F411RE (Nucleo 441RE). If you want to use another board, u need to adjust the sum of asm("nop"). In the example program i put some code to measure how many asm("nop") do we need. See more detail about WS2812 timing https://cdn-shop.adafruit.com/datasheets/WS2812.pdf

Dependents:   STM32FC_RGB_WS2812

Revision:
1:8910a1fcbdb0
Parent:
0:f080cb888db6
--- a/WS2812.cpp	Sat Dec 10 08:18:58 2016 +0000
+++ b/WS2812.cpp	Sat Dec 10 09:18:10 2016 +0000
@@ -247,4 +247,12 @@
 {
     writeColor(RGB);
     sendReset();
+}
+void WS2812::sendColors(uint32_t * ColorBuffer)
+{
+    for(int x=0;x<LED_Qty;x++)
+    {
+        writeColor(*(&ColorBuffer[x]));
+    }
+    sendReset();
 }
\ No newline at end of file