No se puede conseguir que los pines GPIOH funcionen como salida en el descubrimiento STM32F4

0

Estoy usando 4 LEDs conectados a diferentes pines en el descubrimiento STM32F4: PA6, PD8, PH0, PD1. Todos estos pines se han configurado como salida con la misma función:

void initPins(uint32_t ahb_gpio, GPIO_TypeDef * gpio, uint16_t gpio_pin)
{
    GPIO_InitTypeDef GPIO_InitDef;
    RCC_AHB1PeriphClockCmd(ahb_gpio, ENABLE);
    GPIO_InitDef.GPIO_Pin = gpio_pin;
    GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitDef.GPIO_OType = GPIO_OType_PP;
    GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_InitDef.GPIO_Speed = GPIO_Speed_100MHz;
    //Initialize pins
    GPIO_Init(gpio, &GPIO_InitDef);
}

...

initPins(RCC_AHB1Periph_GPIOA, GPIOA, GPIO_Pin_6);
initPins(RCC_AHB1Periph_GPIOD, GPIOD, GPIO_Pin_8);
initPins(RCC_AHB1Periph_GPIOH, GPIOH, GPIO_Pin_0);
initPins(RCC_AHB1Periph_GPIOD, GPIOD, GPIO_Pin_1);

Los tres pines de GPIOA y GPIOD funcionan como deberían, pero no puedo hacer que el pin de GPIOH funcione. Intenté también conectar el 5th LED a PH1 y configurarlo como salida, pero no sirve de nada, tampoco funcionará. También intenté usar la biblioteca TM GPIO para configurar los pines:

TM_GPIO_Init(
    GPIOH,
    GPIO_Pin_0 | GPIO_Pin_1,
    TM_GPIO_Mode_OUT,
    TM_GPIO_OType_PP,
    TM_GPIO_PuPd_NOPULL,
    TM_GPIO_Speed_High
    );

pero tampoco funcionará. Veo que estos dos pines pueden usarse también para el oscilador. ¿Eso está interfiriendo con su configuración? ¿Alguien sabe por qué estos pines no funcionan?

    
pregunta Terraviper-5

0 respuestas

Lea otras preguntas en las etiquetas