En la biblioteca de periféricos estándar STM32, necesitamos configurar el GPIO.
Pero hay 3 funciones que no estoy seguro de cómo configurarlas;
- GPIO_InitStructure.GPIO_Speed
- GPIO_InitStructure.GPIO_OType
- GPIO_InitStructure.GPIO_PuPd
En GPIO_Speed , hay 4 configuraciones para elegir
GPIO_Speed_2MHz /*!< Low speed */
GPIO_Speed_25MHz /*!< Medium speed */
GPIO_Speed_50MHz /*!< Fast speed */
GPIO_Speed_100MHz
¿Cómo sé de qué velocidad elijo? ¿Hay alguna ventaja o desventaja al usar alta velocidad o baja velocidad? (por ejemplo: consumo de energía?)
En GPIO_OType , hay 2 configuraciones para elegir
GPIO_OType_PP // Push pull
GPIO_OType_OD // Open drain
¿Cómo saber cuál elegir? ¿Y qué es el drenaje abierto y push pull?
En GPIO_PuPd , hay 3 configuraciones para elegir
GPIO_PuPd_NOPULL // No pull
GPIO_PuPd_UP // Pull up
GPIO_PuPd_DOWN // Pull down
Creo que esta configuración está relacionada con la configuración inicial de push pull.