STM32 no puede obtener DMA en PWM

Deseo conducir un conjunto de NEOPIXELS (ws2812b) usando la placa de descubrimiento STM32F4, hasta ahora logré obtener una señal PWM de 800 kHz usando CubeMX.ingrese la descripción de la imagen aquí

Y

ingrese la descripción de la imagen aquíY el siguiente código:

/* USER CODE BEGIN 2 */

HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);

/* USER CODE END 2 */

Pero cuando agrego estas líneas de código

/* USER CODE BEGIN Init */
uint16_t pData[25] = {8,8,8,8,8,8,8,8,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,0};

/* USER CODE END Init */

...

/* USER CODE BEGIN 2 */

//HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_1, (uint32_t *)pData, 25);

/* USER CODE END 2 */

Mi señal PWM simplemente desaparece, ¿qué debo hacer para controlar el PWM con DMA?

editar:
está publicando la secuencia DMA, pero el DMA debe cambiarse a circular para verlo en un alcance

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Respuestas (1)

El código transmitía correctamente la secuencia DMA, pero era necesario cambiar el DMA al modo circular o repetido para verlo en un visor. Cuando solo se ejecutaba en modo lineal o de un solo disparo, no tenía la oportunidad de ver el resultado la única vez que se producía.

¿Es esta la solución a su problema, o simplemente una aclaración adicional?