Manejo de pixeles en WS2812B, basado en SPI DMA típicamente bit - golpear una línea de E/S es el método común de mover los LED de RGB de WS2812B (WS2811). Sin embargo, esto ocupa bicicletas de microcontroller preciadas mientras espera para girar un poco. Un método less procesador intensive es usar uno de los módulos de interfaz (SPI) de dipositivo periférico por entregas incorporados. Este es done usar ajustes de datos y velocidad de bauds especialmente hechos, que cuándo se desplazar afuera sobre el alfiler de hombre fuera (SDO) de datos por entregas, recrear el cronometraje de señal de WS2812B necesitado. Incluso when se ejecutar en el modo de SPI, su tamaño de amortiguador de TX de equipo físico limitará cuántos pixeles puede actualizar sin la intervención de CPU usted. [Henrik] get alrededor de esta limitación por usar DMA de dipositivo periférico (el acceso a la memoria directo) para el módulo de SPI en el PIC32MX250F128B microcontroller de microchip. Una vez configurado apropiadamente, el increment de automóvil de voluntad de controlador de DMA a través de la sección definida del RAM de DMA, enviar los datos de pixel over to el módulo de SPI. Debido a que el controlador de DMA cuida la transferencia, el micro es free hacer las otras cosas. Esto hace toda la memoria de DMA su amortiguador de visualización. Y nodos del árbol que plenty de los ciclos de microcontroller preciados available calcular a qué dibujos quiere los LED de RGB usted exhibe. el código fuente es asequible para el enlace más arriba para aquellos a quienes les gustaría leer por encima, o probar él afuera. Esto es parte de [el(la/los/las) de de Henrik] Art Project de pixel. el video de DMA fundó pixeles de SPI después de la pausa: para pixeles de WS2812B más DMA basados en, verificar una versión tan PWM basada en. piratas informáticos Vea estos interesantes articulosINICIO --------------------------------------------------------------------------------------------------------------------------- |