Na biblioteca Periférica Padrão do STM32, precisamos configurar o GPIO.
Mas existem 3 funções que não sei como configurá-las;
- GPIO_InitStructure.GPIO_Speed
- GPIO_InitStructure.GPIO_OType
- GPIO_InitStructure.GPIO_PuPd
No GPIO_Speed , há 4 configurações para escolher
GPIO_Speed_2MHz /*!< Low speed */
GPIO_Speed_25MHz /*!< Medium speed */
GPIO_Speed_50MHz /*!< Fast speed */
GPIO_Speed_100MHz
Como sei qual velocidade eu escolho? Existe alguma vantagem ou desvantagem no uso de alta ou baixa velocidade? (por exemplo: consumo de energia?)
No GPIO_OType , há duas configurações para escolher
GPIO_OType_PP // Push pull
GPIO_OType_OD // Open drain
Como saber qual escolher? e o que é dreno aberto e push pull?
No GPIO_PuPd , há 3 configurações para escolher
GPIO_PuPd_NOPULL // No pull
GPIO_PuPd_UP // Pull up
GPIO_PuPd_DOWN // Pull down
Eu acho que essas configurações estão relacionadas à configuração inicial do push pull.