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 puedo saber de qué velocidad debo elegir? ¿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 el empuje?
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.