STM32F4-Discovery GPIO Siempre alto

-1

Estoy haciendo un trabajo con una placa de descubrimiento STM32F4, y estoy tratando de obtener un uso simple de los pines GPIO. Sin embargo, hay un problema extraño que tengo, que no sé cómo solucionar.

Estoy utilizando IAR Embedded Workbench como mi IDE, y por alguna razón, los únicos pines GPIO que puedo habilitar son los del B-Bus. Si voy a habilitar un pin en cualquiera de los otros autobuses y voy a configurar el pin alto y bajo, el voltímetro que he conectado no registra nada.

Además, hay algunos pines en el tablero que parecen estar atascados a un alto voltaje, lo que me parece extraño. Algunos pines emitían ~ 3V antes de que yo los hubiera habilitado, o los pusiera en alto. ¿Están rotas estas clavijas? ¿O hay una manera de ponerlos bajos? Intentar habilitar el Pin GPIO y establecerlo en un nivel bajo no me ha funcionado, por lo que no estoy seguro de qué hacer aquí.

    
pregunta Skitzafreak

1 respuesta

0

Asegúrate de configurar los pines correctamente

> {
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Pin =   GPIO_Pin_0 |
                            GPIO_Pin_1 |
                            GPIO_Pin_2 |
                            GPIO_Pin_3 |
                            GPIO_Pin_4 |
                            GPIO_Pin_5 |
                            GPIO_Pin_6 |
                            GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_Init(GPIOB,&GPIO_InitStructure);
}

Fuente: Uso de puertos de E / S en STM32

Luego escribe al puerto. También podría haber quemado el pin out o ESD'ed el pin, pruebe unos cuantos puertos \ pins diferentes.

Los STM32F normalmente configuran sus puertos como high- Z al despertar / reiniciar , con un medidor de alta impedancia es posible medir cualquier cosa sin configurar el pin a una salida determinada. Si pones un pulldown externo de 20k al suelo y sigues midiendo 3.3V, entonces creo que tu medidor.

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas