No se puede cambiar la configuración de DMA después de la primera transferencia

1

Estoy usando un microcontrolador stm32f10x y estoy intentando programar su módulo DMA para transferencias en modo normal.

La primera transferencia funciona a la perfección, pero una vez que finaliza, intento cambiar el origen, el destino, el tamaño o cualquier otro de los otros parámetros de configuración, ocurre una de estas dos cosas:

  • O bien la bandera permanece alta todo el tiempo y no se producen otras transferencias;
  • O (sucede cuando borro la bandera), no importa cuántas veces escribo DMA_Cmd (DMA_Channel1, ENABLE), no hace nada, aunque la bandera de transferencia completa se reinicie;

¿Alguna idea de lo que podría estar mal?

PD: estoy usando la biblioteca del dispositivo

    
pregunta morcillo

1 respuesta

0

Bueno, hay un par de soluciones para esto, básicamente necesitas reconfigurar el módulo y el DMA y asegurarte de que los bits necesarios estén configurados, otra forma es simplemente DeInit el módulo de hardware (SPI, UART, lo que sea) , DeInit el DMA y finalmente configurar todo como si fuera la primera vez

    
respondido por el morcillo

Lea otras preguntas en las etiquetas