I try to drive WS2812B LEDs with the STM32F100 chip. I read a lot of sources and stopped on the following thing.
I have a repository with latest version of code: https://bitbucket.org/ruslanpopov/stm32-ws2812b-dma/commits/branch/armka
I did debug print to USART and saw that everything is OK there.
I connected a Saleae-like analyzer and different version of reality that also is proved by the LED's behaviour.
I sent RGB=0x550000. The PWM buffer has the right values. But the analyzer takes RGB=0x660000. I don't understand how 0b01010101 becomes 0b01100110. What is the reason?
Best Answer
The root of problem was in 'dma_source' variable. Renaming it to '_dma_src' solves problems. Video on VK.