STM32 no puedo obtener DMA en PWM

2

Deseo manejar un conjunto de NEOPIXELS (ws2812b) usando la placa de descubrimiento STM32F4, hasta ahora logré obtener una señal PWM de 800 kHz usando el CubeMX.

Y

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 la DMA se debe cambiar a circular para verla en un ámbito

    
pregunta Bart Admiraal

1 respuesta

2

El código transmitía correctamente la secuencia de DMA, pero el DMA debía cambiarse a modo circular o de repetición para verlo en un alcance. Cuando solo se ejecutaba en modo lineal o de un solo disparo, no tuve la oportunidad de ver la salida la única vez que se produjo.

    
respondido por el Bart Admiraal

Lea otras preguntas en las etiquetas