¿Cómo puede un GPIO de stm32 tener muchas funciones alternativas?

3

Estoy trabajando en las asignaciones de pines de STM32F103ZET 1 .

En la página 31 de la hoja de datos, dice que PA0 tiene muchas funciones alternativas: TIM2_CH1_ETR \ USART2_CTS \ WKUP \ ADC123_IN0 \ TIM5_CH1 \ TIM8_ETR . Del manual de referencia, sé que TIM2_CH1_ETR y USART2_CTS pueden ser reasignados.

¿Qué pasa con otras funciones? ¿Qué sucede si quiero usar TIM5_CH1 y TIM8_ETR al mismo tiempo? ¿Cómo puede el STM32 saber si quiero considerar PA0 como TIM5_CH1 o TIM8_ETR ?

1: hoja de datos , manual de referencia

    
pregunta oilpig

2 respuestas

1

Después de pasar unos minutos buscando la hoja de datos, llegué a la conclusión de que no puede volver a asignar esas funciones. Sin embargo, ambos son entradas. Así que puedes usarlos a la vez para activar diferentes cosas en esos dos temporizadores.

    
respondido por el pjc50
3

Los microcontroladores se diseñan generalmente en función de compromisos en el conteo de pines frente a las funciones deseadas.

Por lo tanto, normalmente habrá un conjunto de puertos de configuración o registros de configuración, que definen para el microcontrolador cómo debe comportarse un pin determinado. A un nivel simplista, imagine el paralelo con un GPIO que se utiliza como entrada o como salida, según la configuración.

Si no se implementara dicha funcionalidad polimórfica de los pines, una MCU necesitaría muchos más pines de los que normalmente tienen, entrando rápidamente en los ámbitos de lo poco práctico.

Si una aplicación necesita que se use un pin para diferentes funciones en diferentes puntos del código, normalmente hay un código de configuración escrito como parte de la aplicación, antes de cada bloque de uso, configurando los registros de configuración en consecuencia. Considere el ejemplo de GPIO-as-input / output anterior.

    
respondido por el Anindo Ghosh

Lea otras preguntas en las etiquetas