¿Cuál es el mapeo de pines cuando usamos un ADC en micro STM32F401?

Si quisiéramos capturar datos continuos y asignarlos a un valor digital, debemos usar ADC.

Pero hay un problema. Si configuramos varios pines como entradas analógicas, ¿cuáles son los canales correspondientes a cada pin en modo analógico?

En los registros de control, no tenemos ningún pin que determine capturar en qué pin y en qué canal en ADC.

Leí el manual de referencia pero dice que solo configure algún pin en un puerto en modo analógico. Pero si tenemos múltiples entradas analógicas y queremos usar múltiples canales ADC, existen algunas dificultades con esto y el mapeo entre pines de entrada analógica y canales ADC.

Proporcione un enlace al "manual de referencia" y díganos qué secciones está leyendo.
No es necesario porque el manual de referencia es inútil en este sentido. La información está en la hoja de datos.
@Justme Lo siento, te equivocas. Las hojas de datos ST solo proporcionan características eléctricas y pinouts de los chips específicos. Los manuales de referencia proporcionan detalles de programación reales para toda la serie. El OP parece estar más confundido sobre el uso de múltiples canales que el simple mapeo de pines

Respuestas (2)

Hoja de datos completa para toda la familia STM32F40x aquí . Hay formas de configurar ADC para barrer automáticamente los pines configurados como entradas de ADC y leer la entrada en ellos. También puede realizar manualmente múltiples conversiones únicas, así que verifique que ADC1 reconfigure ADC para un canal diferente, verifique ADC2,... Lea más en la hoja de datos suministrada o aprenda a usar herramientas como CUBE MX, que puede hacer la configuración por usted. También puede usar bibliotecas HAL ya existentes en lugar de escribir sus propias funciones para leer ADC en varios modos diferentes. La combinación de HAL y CUBE MX es lo que recomendaría, ya que solo se beneficiará de saber cómo trabajar con ellos y harán que su vida sea mucho más sencilla.

No sé por qué esta respuesta obtuvo -1. Carece de detalles, claro, pero desde el vistazo a la pregunta original, nada menos que varias páginas con ejemplos de código serán de ayuda. E incluso entonces, usar Cube + HAL obtendrá OP más y más rápido que explicar cómo funcionan los registros

Agregando mis dos centavos a la respuesta de Daniel. Recomendaría leer la siguiente nota de aplicación

AN3116 "Modos STM32 ADC y sus aplicaciones"

para la explicación de cómo funciona la conversión ADC multicanal. Específicamente, la sección 1.4 "Modo de conversión continua multicanal (escaneo)" sería de su mayor interés. Cuando entiendas eso, lee

AN4031 "Uso del controlador DMA de las series STM32F2, STM32F4 y STM32F7"

porque DMA en modo circular es la forma más fácil de obtener resultados de escaneo en su aplicación sin desperdiciar ciclos de CPU.

El resto es simple: usted especifica qué canales desea muestrear y en qué orden, luego le indica a DMA que transfiera los resultados a su propia matriz de enteros de 16 bits. El voltaje convertido en los pines correspondientes aparecerá "mágicamente" en su matriz.