ADC Multicanal Modo DMA en STM32CubeIDE

Lectura ADC modo DMA

En este mini tutorial desarrollaremos en el STM32CubeIDE un método de lectura ADC multicanal con el modo DMA.

Componentes necesarios:

  • -       STM32 F103C8T6.
  • -       ST-LINK V2.
  • -       Potenciómetro.
  • -       Protoboard.
  • -       Cable UTP o jumpers.

Entorno de desarrollo: STM32CubeIDE v.1.6.1.

Modo de visualización: STM32CubeIDE Debugger.

Configuración del Proyecto.

Una vez creado el proyecto y seleccionado la Board de desarrollo, configuramos el RCC, SYS y el periférico ADC1, habilitamos el canal con el que deseamos trabajar y ajustamos la frecuencia de reloj, tal y como lo podemos observar a continuación.



Después de seleccionar el canal “IN1” en donde recibiremos la señal analógica, en la sección de “Configuration” realizaremos unos cambios en el apartado de “Parameter Settings”.


Por supuesto que, con el modo DMA podemos hacer lecturas multicanal para transferir lotes de muestras a la memoria de manera continua. Sin embargo, en este tutorial sólo se realizará la lectura de un solo canal para efectos demostrativos.


Flecha 1. Clic en “Add”.

Flecha 2. Seleccionar ADC1.


Flecha 3. Seleccionar Mode “Circular”. En la opción de “Data Width” seleccionar ambos en “Word”.


Finalmente, las configuraciones anteriormente realizadas, se representan tal y como se pueden ver en la siguiente imagen.


Ahora, configuramos el reloj.

Generación del Código Fuente.

Guardamos los cambios y procedemos a generar el código fuente. Añadimos las instrucciones de lectura ADC modo DMA.







Los resultados pueden ser visualizados en el Debugger del mismo IDE de STM.


¡Y eso sería todo!

Comentarios